1、二级 JAVA机试 93及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下面程序是判断某一个是否为闰年,请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。(闰年的条件是符合下面两者之一:能被 4整除,但不能被 100整除;能被 4整除,又能被 100整除)。注意:不改动程序的结构,不得增行或删行。 import java.io.*; public class LeapYear public static void main(String args) int year=1979; if(U(year %4= =0 | y
2、ear % 100 !=0) | (year % 400= =0)/U) System.out.println(year+“是闰年.“); else System.out.println(year+“不是闰年。“); year=2000; boolean leap; if(Uyear % 4 !=0/U) leap=false; else if(year % 100 !=0) leap=true; else if(year % 400 !=0) leap=false; else leap=true; if(_) System.out.println(year+“是闰年。“); else Sys
3、tem.out.println(year+“不是闰年。“); year=2010; if(year % 4= =0) if(year % 100= =0) if(year % 400= =0) leap=true; else _ else leap=false; if(1eap= =true); System.out.println(year+“是闰年。“); else System.out.println(year+“不是闰年。“); (分数:30.00)_二、B2简单应用题/B(总题数:1,分数:40.00)2.下列程序建立一个 file.dat的文件,并且允许按照不同的数据类型向里面输入
4、数据,请将程序补充完整。 注意:不改动程序结构,不得增行或删行。 package ch3; import java.io.*; public class Test public static void main(String args) try _fos=new_(“ch3/file.dat“); _ catch(IOException ioe) ioe.printStackTrace(); (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下列程序的功能是对两个整数进行比较,由考生通过输入窗口分别输入两个整数,程序 比较出结果。例如:输入第 1个整数为 12,第
5、 2个整数为 33。比较结果显示: 12!=33 1233 12=33 程序有多个遗漏和错误。本题要求改一个错,填三个空。 注意:不改动程序结构,不得增行或删行。 import javax.swing.JOptionPane; public class ex3 public static void main(String args) String firstNumber, /用户输入第 1个字符串 secondNumber, /户输入第 2个字符串 result; / a string containing the output int number1, /较的第 1个数 number2; /
6、的第 2个数 /读用户输入的第 1个字符串 read first number from user as a string firstNumber= JOptionPane.showlnputDialog(“Enter first integer:“); /用户输入的第 2个字符串 read second number from user as a string secondNumber= JOptionPane.showInputDialog(“Enter second integer:“); /字符串类型转换成整数类型 number1=Integer.parseInt(firstNumbe
7、r); number2=Integer.parseInt(secondNumber); result=“; Uif(String.valueOf(numberl)=String.valueOf(number2)/U result=String.valueOf(numberl)+“= =“+String.valueOf(number2); if(String.valueOf(number1)!=String.valueOf(number2) result=String.valueOf(number1)+“ !=“+String.valueOf(number2); if(String.valueO
8、f(numberl) String.valueOf(number2) result=result+“/n“ +String.valueOf(numberl)+“ +String.valueOf(number2); if(String.valueOf(numberl)String.valueOf(number2) result=result+“/n“ +String.valueOf(numberl)+“ “ +String.valueOf(number2); if(String.valueOf(numberl)=String.valueOf(number2) result=result+“/n“
9、+String.valueOf(numberl)+“ =“ +String.valueOf(number2); if(String.valueOf(numberl)=String.valueOf(number2) result=result+“/n“+String.valueOf(numberl)+ “=“ +String.valueOf(number2); _(null,result,“比较结果“,_INFORMATION_MESSAGE); /程序正常退出 _; (分数:30.00)_二级 JAVA机试 93答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数
10、:1,分数:30.00)1.下面程序是判断某一个是否为闰年,请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。(闰年的条件是符合下面两者之一:能被 4整除,但不能被 100整除;能被 4整除,又能被 100整除)。注意:不改动程序的结构,不得增行或删行。 import java.io.*; public class LeapYear public static void main(String args) int year=1979; if(U(year %4= =0 | year % 100 !=0) | (year % 400= =0)/U) System.out.printl
11、n(year+“是闰年.“); else System.out.println(year+“不是闰年。“); year=2000; boolean leap; if(Uyear % 4 !=0/U) leap=false; else if(year % 100 !=0) leap=true; else if(year % 400 !=0) leap=false; else leap=true; if(_) System.out.println(year+“是闰年。“); else System.out.println(year+“不是闰年。“); year=2010; if(year % 4=
12、 =0) if(year % 100= =0) if(year % 400= =0) leap=true; else _ else leap=false; if(1eap= =true); System.out.println(year+“是闰年。“); else System.out.println(year+“不是闰年。“); (分数:30.00)_正确答案:()解析:(year%4= =0 import java.io.*; public class Test public static void main(String args) try _fos=new_(“ch3/file.dat
13、“); _ catch(IOException ioe) ioe.printStackTrace(); (分数:40.00)_正确答案:()解析:FileOutputStream FileOutputStream DataOutputStream dos=new DateOutputStream(fos); 讲解 本题考查 Java语言的输入输出流,这是一道简单应用题。这里用文件输出流 FileOutputStream 创建向文件 file.txt中写入字节数据的输出流。允许按照不同数据类型进行输出,应该使用DataOutputStream流,并且要使用 FileOutputStream类的对
14、象 fos作为该类的构造方法的参数。因此,3个空的答案分别是 FileOutputStream、FileOutputStream、DataOutputStream dos=new DateOutputStream(fos);。三、B3综合应用题/B(总题数:1,分数:30.00)3.下列程序的功能是对两个整数进行比较,由考生通过输入窗口分别输入两个整数,程序 比较出结果。例如:输入第 1个整数为 12,第 2个整数为 33。比较结果显示: 12!=33 1233 12=33 程序有多个遗漏和错误。本题要求改一个错,填三个空。 注意:不改动程序结构,不得增行或删行。 import javax.s
15、wing.JOptionPane; public class ex3 public static void main(String args) String firstNumber, /用户输入第 1个字符串 secondNumber, /户输入第 2个字符串 result; / a string containing the output int number1, /较的第 1个数 number2; /的第 2个数 /读用户输入的第 1个字符串 read first number from user as a string firstNumber= JOptionPane.showlnput
16、Dialog(“Enter first integer:“); /用户输入的第 2个字符串 read second number from user as a string secondNumber= JOptionPane.showInputDialog(“Enter second integer:“); /字符串类型转换成整数类型 number1=Integer.parseInt(firstNumber); number2=Integer.parseInt(secondNumber); result=“; Uif(String.valueOf(numberl)=String.valueOf
17、(number2)/U result=String.valueOf(numberl)+“= =“+String.valueOf(number2); if(String.valueOf(number1)!=String.valueOf(number2) result=String.valueOf(number1)+“ !=“+String.valueOf(number2); if(String.valueOf(numberl) String.valueOf(number2) result=result+“/n“ +String.valueOf(numberl)+“ +String.valueOf
18、(number2); if(String.valueOf(numberl)String.valueOf(number2) result=result+“/n“ +String.valueOf(numberl)+“ “ +String.valueOf(number2); if(String.valueOf(numberl)=String.valueOf(number2) result=result+“/n“+String.valueOf(numberl)+“ =“ +String.valueOf(number2); if(String.valueOf(numberl)=String.valueO
19、f(number2) result=result+“/n“+String.valueOf(numberl)+ “=“ +String.valueOf(number2); _(null,result,“比较结果“,_INFORMATION_MESSAGE); /程序正常退出 _; (分数:30.00)_正确答案:()解析:if(String.valueOf(number1= =String.valueOf(number2) JOptionPane.showMessageDialog JOptionPane System.exit(0) 讲解 本题综合考查 Java语言的数据类型及运算、基本语句和
20、图形用户界面。 if(String.valueOf(number1)=String.valueOf(number2)是题中的错误。两个变量进行比较应该使用双等号,正确的语句是 if(String.valueOf(numberl)=String.valueOf(number2)。第 1空填写 JOptionPane.showMessageDialog。调用 JOptionPane类的 showMessageDialog方法显示信息。第 2空填写 JOptionPane。JOptionPane.INFORMATION_MESSAGE 是 JOptionPane自带的参数,用来控制显示在信息框上的图标。要显示惊叹号的图标应使用 INFORMATION_MESSAGE参数。第 3空应填写 System.exit(0)。Java中退出程序使用 System的 exit方法,该方法需要一个整数参数。