1、二级 JAVA 机试 35 及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.选择排序的基本思想是从序列中选出最小值,将它放在前面第 0 位置:然后在剩下的数中选择最小值,将它放在前面第 1 位置,依此类推。请在程序的每条横线处填写一条语句,使程序的功能完整。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class SelectSort public static void main(String args ) int i,j; int a =30,1,-9,70,25 int
2、size=a.length; for(i=0;_i+) for (j=i+1;_j+) if(aiaj) int temp=ai; _ aj=temp; for(i=0;isize;i+) System.out.println(ai+ “ ); (分数:30.00)_二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java 程序:对大写的 26 个英文字母加密,从键盘输入一个大写字母串,输出这个串加密后的结果。加密操作是将字母变换成倒序的大写字母,如 A-Z,B-Y。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下:
3、输入一个大写字母串:ADFSDFFE 加密后的大写字母串:ZWUHWUUV import java.io.*; public class ex12_2 public static void main (String args) char ch = A; String str; System. out .print ( “输入一个大写字母串: “); try BufferedReader in = new BufferedReader(new InputStreamReader(System.in); str= in.readLine(); System. out .print ( “加密后的大
4、写字母串:“); for(int i=0;istr.length();i+) _; _; System.out.print(ch); catch(IOException e) try System.in.read(); catch(IOException e) ; (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet 程序,其功能是显示有闪烁特效的从左向右的滚动文字。要求定义 6 种颜色:RED,GREEN,ORANGE, GRAY,YELLOW,BLUE,让文字在滚动过程中根据文字的位置循环选定种颜色,并快速切换,达到一边移动一边闪烁的效果
5、,同时要求通过 htm1 文件传递所显示的文字和延迟时间的参数,Applet 程序能够根据参数实现显示功能。请改正程序中的错误(有下划线的语句),使程序能输山正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_二级 JAVA 机试 35 答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.选择排序的基本思想是从序列中选出最小值,将它放在前面第 0 位置:然后在剩下的数中选择最小值,将它放在前面第 1 位置,依此类推。请在程序的每条横线处填写一条语句,使程序的功能完整。 注意:请勿改动 mai
6、n()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class SelectSort public static void main(String args ) int i,j; int a =30,1,-9,70,25 int size=a.length; for(i=0;_i+) for (j=i+1;_j+) if(aiaj) int temp=ai; _ aj=temp; for(i=0;isize;i+) System.out.println(ai+ “ ); (分数:30.00)_正确答案:()解析:isize-1; jsize; ai=aj; 解析 本题考
7、查 for 循环语句。解答本题的关键是掌握选择排序算法和 Java 语言数组的基本用法。在本题中,第一个 for(i=0;size-1;i+)循环语句是用来从数组 a 中选出最小值,(其中 isize-1;语句是判断部分),将它放在前面第 0 位置;第二个for(j=i+1;size;j+)循环语勺是用来在数组 a 剩下的数中选择最小值,(其中 jsize;语句是判断部分)将它放在前面第 1 位置,依此类推。最后 ai=aj;语句是用来交换数组中前后相邻元素的值。二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java 程序:对大写的 26 个英文字母加密,从键盘输入一个
8、大写字母串,输出这个串加密后的结果。加密操作是将字母变换成倒序的大写字母,如 A-Z,B-Y。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: 输入一个大写字母串:ADFSDFFE 加密后的大写字母串:ZWUHWUUV import java.io.*; public class ex12_2 public static void main (String args) char ch = A; String str; System. out .print ( “输入一个大写字母串: “); try BufferedReader in =
9、new BufferedReader(new InputStreamReader(System.in); str= in.readLine(); System. out .print ( “加密后的大写字母串:“); for(int i=0;istr.length();i+) _; _; System.out.print(ch); catch(IOException e) try System.in.read(); catch(IOException e) ; (分数:40.00)_正确答案:()解析:ch=strcharAt(i) ch=(char)(Z -ch+A) 解析 本题主要考查字符
10、串的操作和 I/O 操作的简单应用。解题关键是,熟悉字符串的基本操作,会将字符作相应的转换,熟悉字符串的定位方法 charAt()以及基本的 I/O 操作。本题中,第 1 个空,定位 str 对象中的字符,调用 str 对象的 cheat()方法定位第 i个字符并将该字符写给 ch 变量;第 2 个空,加密算法的实现,Z-ch 表示字符 ch 在字符表中和字符Z之间相隔多少字符,再加上字符A就得到了倒序的字符在字符表中的位置,然后进行类型转换,就得到了倒序的字符。三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet 程序,其功能是显示有闪烁特效的从左向右的滚动文字
11、。要求定义 6 种颜色:RED,GREEN,ORANGE, GRAY,YELLOW,BLUE,让文字在滚动过程中根据文字的位置循环选定种颜色,并快速切换,达到一边移动一边闪烁的效果,同时要求通过 htm1 文件传递所显示的文字和延迟时间的参数,Applet 程序能够根据参数实现显示功能。请改正程序中的错误(有下划线的语句),使程序能输山正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_正确答案:()解析:return (s != null) ? S : S2 nX=getSize()width -nX= 0 解析 本题主要考查 Applet窗口中使用多线程显示动态文字,Applet 与 htm1 文件的信息交换以及方法重载的编程思想。解题关键是熟练掌握在 Applet 窗口中控制文字显示和改变文字的颜色大小等基本操作,熟悉 Applet 下的多线程编程思想,熟练应用方法重载解决实际应用,以及掌握 Applet 和 htm1 文件之间通过传递参数来进行信息交互的方法。本题中,第一处,由于 s 是 String 类的对象,因此不需要做类型转换;第二处,nX 是代表了文字的横坐标位置,应该是 getSize()width:第三处,只判断了文字横坐标是否溢出屏幕,但是没有对坐标值改变,文字不会移动,因此需要将 nX 改为-nX。