1、二级 JAVA 机试-196 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:完成程序并运行,得到的结果如下:*在初始化之前*x=0 y=0 z=0*在初始化中*x=20 y=30 z=5*在初始化之后*x=20 y=30 z=0源程序:class Variableint x=0, y=0, z=0; /类变量void init(int x, int y)(1) =x;this.y=y;int
2、z=5;/局部变量System.out.println(“*在初始化中*“);System.out.println(“x=“+x+“y=“+y+“z=“+z);public class Java_1public static void main(Stringargs)Variable v=new (2) ;System.out.println(“*在初始化之前*“);System.out.println(“x=“+v.x+“y=“+v.y+“z=“+v.z);v.init(20,30);System.out.println(“*在初始化之后*“);System.out.println(“x=“
3、+v.x+“y=“+v.y+“z=“+v.z);(分数:30.00)填空项 1:_填空项 1:_二、2简单应用题(总题数:1,分数:40.00)请完善程序(程序文件名:Java_2.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:将 source.txt 文件中的字符,通过文件输入/输出流复制到 dest.txt 文件中。源程序:import java.io.*;public class Java_2public static void main(Stringargs)throws IOExceptionFile inputFile
4、;File outputFile;FileInputStream in;FileoutputStream out;int c;inputFile=new File(“source.txt“);outputFile=new File(“dest.txt“);in=new FileInputStream(inputFile);(1) (outputFile);while(c=in.read()!=-1) (2) ;in.close();out.close();(分数:40.00)填空项 1:_填空项 1:_三、3综合应用题(总题数:1,分数:30.00)有两个文件 Java_3.java 和 Ja
5、va_3.html,其中 Java_3.java 是不完整的。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:用递归定义:n!=n*(n-1)!计算 010 的阶乘,使小程序运行结果如下。(分数:30.00)填空项 1:_填空项 1:_填空项 1:_二级 JAVA 机试-196 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:完成程序并运行,得到的结果如下:
6、*在初始化之前*x=0 y=0 z=0*在初始化中*x=20 y=30 z=5*在初始化之后*x=20 y=30 z=0源程序:class Variableint x=0, y=0, z=0; /类变量void init(int x, int y)(1) =x;this.y=y;int z=5;/局部变量System.out.println(“*在初始化中*“);System.out.println(“x=“+x+“y=“+y+“z=“+z);public class Java_1public static void main(Stringargs)Variable v=new (2) ;Sy
7、stem.out.println(“*在初始化之前*“);System.out.println(“x=“+v.x+“y=“+v.y+“z=“+v.z);v.init(20,30);System.out.println(“*在初始化之后*“);System.out.println(“x=“+v.x+“y=“+v.y+“z=“+v.z);(分数:30.00)填空项 1:_ (正确答案:this.x)解析:解析 考查类变量和局部变量的用法。解析 因为 init 方法有两个参数,因此需要给当前类的两个变量进行赋值。参见下面一条语句给 y 赋值,自然给 x 赋值的语句就是 this.x=x;填空项 1:
8、_ (正确答案:Variable())解析:解析 由程序看出 v 是 Variable 类的对象,此处是进行实例化,因此需要调用与类同名的构造方法进行实例化。二、2简单应用题(总题数:1,分数:40.00)请完善程序(程序文件名:Java_2.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:将 source.txt 文件中的字符,通过文件输入/输出流复制到 dest.txt 文件中。源程序:import java.io.*;public class Java_2public static void main(Stringargs)t
9、hrows IOExceptionFile inputFile;File outputFile;FileInputStream in;FileoutputStream out;int c;inputFile=new File(“source.txt“);outputFile=new File(“dest.txt“);in=new FileInputStream(inputFile);(1) (outputFile);while(c=in.read()!=-1) (2) ;in.close();out.close();(分数:40.00)填空项 1:_ (正确答案:out=new FileOut
10、putstream)解析:解析 程序通过 FileInputStream 类和 FileOutputStream 类将一个文件内容写入另一个文件。解析 上面一条语句创建了 FileInputStream 类的对象 in,下面也用到了 out,但是没有对 out 对象实例化,所以此处需要对 out 进行实例化,可以参见上面一句对 in 的实例化得出答案。填空项 1:_ (正确答案:out.write(c))解析:解析 循环中必然是将读出的字符 c 写入文件,所以应该是写文件的语句,参见 in.read()语句即可得出答案。三、3综合应用题(总题数:1,分数:30.00)有两个文件 Java_3.
11、java 和 Java_3.html,其中 Java_3.java 是不完整的。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:用递归定义:n!=n*(n-1)!计算 010 的阶乘,使小程序运行结果如下。(分数:30.00)填空项 1:_ (正确答案:JApplet)解析:解析 程序通过创建 Applet 小程序输出 110 的阶乘。其中用到了 JTextArea 构件。解析 所有的 Applet 程序都继承自 Applet 或 JApplet 类,因为程序中用到了 java.swing.*,所以本程序继承自 JApplet。填空项 1:_ (正确答案:getContentPane)解析:解析 由于 swing 构件不能直接添加到顶层容器中,必须添加到一个与 Swing 顶层容器相关联的内容面板上。所以此处需要通过 getContentPane 方法获得内容面板,再对其加入构件。填空项 1:_ (正确答案:outputArea)解析:解析 程序上面定义了 JTextArea 类对象 outputArea,需要添加到 Swing 的内容面板上。