1、二级 JAVA 机试-7 及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求完成程序并运行,得到的结果如下图所示。(分数:30.00)(1).(分数:15.00)填空项 1:_填空项 1:_二、B2简单应用题/B(总题数:1,分数:40.00)请完善程序(程序文件名:Java_2.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求构造一
2、个 5 行 5 列的二维数组,给数组赋值,并将其按照行列对齐的方式输出,使程序输出结果如下:0 0 0 0 10 0 0 2 30 0 4 5 60 7 8 9 1011 12 13 14 15源程序:import java.io.*;public class Java_2 public static void main(String args) int a =new int55;int i,j,k=1;for(i=0;i5;i+)for(j=0;U (1) /U;j+)if(i+j)4)aij=0;else U(2) /U;for(i=0;i5;i+) for(j=0;j5;j+)if(ai
3、j10)System.out.print(a ij+“ “);else System.out.print(aiJ+“ “);System.out.println();(分数:40.00)(1).(分数:20.00)填空项 1:_填空项 1:_三、B3综合应用题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求本题的要求是填三个空,改两个错。该程序是两个整数进行比较,由考生通过输入窗口分别输入两个整数,程序比较出结果。源程序:import javax.swing.J
4、OptionPane;public class Jave_3 public static void main(String args) String firstNumber, /用户输入第 1 个字符串secondNumber, /用户输入第 2 个字符串result; /a string containing the outputint number1, /比较的第 1 个数number2; /比较的第 2 个数/读用户输入的第 1 个字符串 read first number from user as a stringfirstNumber=JOptionPane.showInputDia
5、log(“Enter first integer:“);/读用户输入的第 2 个字符串 read second number from user as a stringsecondNumber=JOptionPane.showInputDialog(“Enter second integer:“);/将字符串类型转换成整数类型number1=Integer.parseInt(firstNumber);number2=Integer.parseInt(secondNumber);result=“ “:Uif(number1=number2)U (1) /U/U /本行有错需修改result=nu
6、mber1+“=“+number2:if(number1 !=number2) result=number1+“!=“+number2;if f number1 number2) result=result+“/n“+number1+“+number2;if(number1 number2) result=result+“/n“+number1+“+number2;if(number1 =number2) result=result+“/n“+number1+“=“+number2;Uif(;number1=number2) U(2) /U/U /本行有错需修改result=result+“/
7、n“+number1+“=“+number2;/显示结果U (3) /U (null,result,“Comparison Results“,U (4) /UINFORMATION_MESSAGE);/程序正常退出U (5) /U;/*JOptionPane 类的常用静态方法如下:showInputDialog()showConfirmDialog()showMessageDialog()showOptionDialog()*/(分数:30.00)(1).(分数:6.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_二级 JAVA 机试-7 答案解析(总分:100.0
8、0,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求完成程序并运行,得到的结果如下图所示。(分数:30.00)(1).(分数:15.00)填空项 1:_ (正确答案:count+)解析:解析 for 循环的最后一个分语句为改变变量 count 的语句,从程序的运行结果可以看出每次显示的值增加了 1,所以语句为 count+。填空项 1:_ (正确答案:=5)解析:解析 当 count 为 5 时跳过循环,执行下一个循环,所
9、以判断条件为 count 是否等于 5,Java 中用“=”表示判断是否相等,所以语句为 count=5。 程序解析 本程序主要考查 for 循环中的强制跳转语句。强制跳转语句有 continue 和 break 两种。break 语句用来退出循环,并从紧跟该循环语句的第一条语句处开始执行;而 continue 语句则跳过循环体中下面尚未执行的语句,回到循环体的开始继续下一轮的循环。二、B2简单应用题/B(总题数:1,分数:40.00)请完善程序(程序文件名:Java_2.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求构造一个 5
10、行 5 列的二维数组,给数组赋值,并将其按照行列对齐的方式输出,使程序输出结果如下:0 0 0 0 10 0 0 2 30 0 4 5 60 7 8 9 1011 12 13 14 15源程序:import java.io.*;public class Java_2 public static void main(String args) int a =new int55;int i,j,k=1;for(i=0;i5;i+)for(j=0;U (1) /U;j+)if(i+j)4)aij=0;else U(2) /U;for(i=0;i5;i+) for(j=0;j5;j+)if(aij10)
11、System.out.print(a ij+“ “);else System.out.print(aiJ+“ “);System.out.println();(分数:40.00)(1).(分数:20.00)填空项 1:_ (正确答案:j5)解析:解析 数组有 5 行 5 列均没有赋值,因此 j 的循环结束条件也和 i 一样是 j5。填空项 1:_ (正确答案:aij=k+)解析:解析 对于对角线后的语句由于是从 1 递增到 15,所以要借助变量 k 自增。 程序解析 本程序主要考查数组的赋值与输出,采用循环赋值输出。因为是二维数组,所以采用了 for 的嵌套循环。从对角线开始从 1 到 15
12、递增赋值。三、B3综合应用题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求本题的要求是填三个空,改两个错。该程序是两个整数进行比较,由考生通过输入窗口分别输入两个整数,程序比较出结果。源程序:import javax.swing.JOptionPane;public class Jave_3 public static void main(String args) String firstNumber, /用户输入第 1 个字符串secondNumber, /
13、用户输入第 2 个字符串result; /a string containing the outputint number1, /比较的第 1 个数number2; /比较的第 2 个数/读用户输入的第 1 个字符串 read first number from user as a stringfirstNumber=JOptionPane.showInputDialog(“Enter first integer:“);/读用户输入的第 2 个字符串 read second number from user as a stringsecondNumber=JOptionPane.showInp
14、utDialog(“Enter second integer:“);/将字符串类型转换成整数类型number1=Integer.parseInt(firstNumber);number2=Integer.parseInt(secondNumber);result=“ “:Uif(number1=number2)U (1) /U/U /本行有错需修改result=number1+“=“+number2:if(number1 !=number2) result=number1+“!=“+number2;if f number1 number2) result=result+“/n“+number1
15、+“+number2;if(number1 number2) result=result+“/n“+number1+“+number2;if(number1 =number2) result=result+“/n“+number1+“=“+number2;Uif(;number1=number2) U(2) /U/U /本行有错需修改result=result+“/n“+number1+“=“+number2;/显示结果U (3) /U (null,result,“Comparison Results“,U (4) /UINFORMATION_MESSAGE);/程序正常退出U (5) /U;
16、/*JOptionPane 类的常用静态方法如下:showInputDialog()showConfirmDialog()showMessageDialog()showOptionDialog()*/(分数:30.00)(1).(分数:6.00)填空项 1:_ (正确答案:if(number1=number2))解析:解析 比较两个数是否相等,应该用判等运算符“=”,而不是赋值运算符“=”。填空项 1:_ (正确答案:if(number1=number2))解析:解析 多了一个分号。填空项 1:_ (正确答案:JOptionPane.showMessageDialog)解析:解析 属于考查对话
17、框中第 2、第 3 小点。填空项 1:_ (正确答案:JOptionPane)解析:解析 这些常量都是类 JOptionPane 当中的。填空项 1:_ (正确答案:System.exit(0))解析:解析 退出程序的语句。 程序解析 本程序首先从对话框中输入两个整数,然后对两个数进行比较,利用对话框输出结果,退出程序。 对话框继承自类 JOptionPane,包 Javax.swing 对话框方法的调用格式: public static void showMessageDialog(Component parentComponent,Object message,String title,i
18、nt messageType,Icon icon) throws HeadlessException; 关于对话框的考查方式有以下几种: (1) 来自哪个包javax.swing。 (2) 调用的方法继承于哪个类JOptionPane。 (3) 显示对话框的方法名称showMessageDialog。 (4) 第一个参数为parentComponent,定义作为此对话框的父对话框的 Component,通常为 null。 (5) 第二个参数 message要置于对话框中的描述消息,通常为已经赋值的字符串变量,即要显示的内容。 (6) 第三个参数title对话框的标题,通常为字符串常量。 (7) 第四个参数 messageType定义 message 的样式,通常对话框为 JOptionPane.INFORMATION_MESSAGE,当然还可能为ERROR_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE、PLAIN_MESSAGE。 (8) 第五个参数 icon要置于对话框中的装饰性图标。图标的默认值由 messageType 参数确定,所以通常用默认值,不写这个参数。