1、二级 JAVA 机试-108 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.将下面的程序补充完整。注意:不改动程序结构,不得增行或删行。import java.appplet.Applet;import java.awt.Graphics;public class ex1 extends Appletpublic void paint(Graphics_)int i=682;gap.drawstring(Integer._(i),20,60);(分数:30.00)_二、2简单应用题(总题数:1,分数:40.00)2.请完成下列 Jav
2、a 程序:创建一个二维整形数组,并将其以 5 行 4 列对齐的格式输出。请将程序填写完整。注意:不改动程序结构,不得增行或删行。public class ex2public static void main(String args)Int aMatrix=1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5;int i=0;int j=0;for(i=0;iaMatrix.length;i+)For (j=0; _; j+)System.out.print(_+“ “);System.out.println( );(分数:40.00)_三、3综合应用题(总题数:1,分
3、数:30.00)3.下面是一个 Applet 程序,其功能是有 2 个按钮,分别为 First 和 Second,以及一个 Label 构件。要求单击 First 时则能在 Label 中显示出 Command: First,而单击 Second 时则能显示出 Command: Second,要求只能使用重载一次 actionPerformed()方法。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:(分数:30.00)_二级 JAVA 机试-108 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总
4、题数:1,分数:30.00)1.将下面的程序补充完整。注意:不改动程序结构,不得增行或删行。import java.appplet.Applet;import java.awt.Graphics;public class ex1 extends Appletpublic void paint(Graphics_)int i=682;gap.drawstring(Integer._(i),20,60);(分数:30.00)_正确答案:(gaptoString)解析:讲解 本题考查图形用户界面和字符串的使用。paint()方法有一个参数 gap 是 Graphics 类的实例,当然 gap 是程序
5、员自己起的名字,你也可以定义为 abc,这都无妨,该实例由浏览器生成,它包含了Applet 图形上下文信息,通过它向 Applet 中显示信息,该对象相当于 Applet 的画笔。在调用 paint()方法时,由浏览器将该对象传给 paint()方法。由于在方法 drawstring()前程序已经给出了对象名 gap,因此,第 1 空填写 gap。toString()方法是 Object 自带的一个方法,用于返回该对象(在本题中是 gap)信息的字符串,该字符串与对象相同类型。二、2简单应用题(总题数:1,分数:40.00)2.请完成下列 Java 程序:创建一个二维整形数组,并将其以 5 行
6、 4 列对齐的格式输出。请将程序填写完整。注意:不改动程序结构,不得增行或删行。public class ex2public static void main(String args)Int aMatrix=1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5;int i=0;int j=0;for(i=0;iaMatrix.length;i+)For (j=0; _; j+)System.out.print(_+“ “);System.out.println( );(分数:40.00)_正确答案:(jaMatrixi.lengthaMatrixij)解析:讲解 本题
7、主要考查二维数组的循环输出。程序中,变量 i 控制数组中元素排列的行数,变量 j控制每一行中元素的个数。第 1 空填写 aMatrixi.length。因为循环输出每一行元素的时候不能超出范围,所以变量 j 的最大值要控制在数组每行元素最大值之内,即小于 aMatrixi的长度。第 2 空填写aMatrixij。此处就是用变量 i 和变量 j 为下标,表示该元素为第 i 行的第 j 个元素,控制数组内的元素输出。三、3综合应用题(总题数:1,分数:30.00)3.下面是一个 Applet 程序,其功能是有 2 个按钮,分别为 First 和 Second,以及一个 Label 构件。要求单击
8、First 时则能在 Label 中显示出 Command: First,而单击 Second 时则能显示出 Command: Second,要求只能使用重载一次 actionPerformed()方法。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:(分数:30.00)_正确答案:(Btn.addActionListener(this)Btn.setActionCommand(“second”)1.setText(str)解析:讲解 本题主要考查 Java 语言中高级事件 ActionEvent 和 AWT 基本构件 Label 的常用方法的使用。解题关键是熟练掌握动作事件 ActionEvent 和 Label 构件的常用方法。在本题中,第 1 处,明确注册的事件监听器是监听按钮的,而不是 Label 的;第 2 处,调用 ActionEvent 的 setActionCommand()方法改变了 ActionCommand,使按下第二个按钮时显示 Command: second 而不是 Command: First。第 3 处,调用Label 的 setText()方法,而不是 Button 的方法。