1、计算机二级(JAVA)上机考试 8 及答案解析(总分:-3.00,做题时间:90 分钟)1.基本操作题 下列程序中,给出两个整数 2 和 3,分别求 2 除以 3 和 2 乘以 3 的结果,要求调用类 ex1_1的方法 method( )来输出相应的结果,请将程序补充完整。程序运行结果如下: 0.6666666666666666 6 public class ex1_1 public static void main(String args) int n1=2,n2=3; ex1_1 obj1_1=new ex1_1(); obj1_1. ; public void method(int x,
2、int y) System.out.println( ); System.out.println( ); (分数:-1.00)_2.简单应用题 请完成下列 Java 程序:用 swing 实现一个简单的学生成绩管理器,显示出学生的姓名,java 成绩,c+成绩和这两门课的平均成绩,学生一共有 4 个人(Mike, Jack 等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变 Mike 的 java 成绩后,在平均成绩栏会自动更新为新的平均成绩。 注意:请勿改动 main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: (分数:-1.00)_3
3、.综合应用题 下面是一个 Applet 程序,实现实心或者空心矩形的绘制。要求鼠标在 Applet 窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:-1.00)_计算机二级(JAVA)上机考试 8 答案解析(总分:-3.00,做题时间:90 分钟)1.基本操作题 下列程序中,给出两个整数 2 和 3,分别求 2 除以 3 和 2 乘以 3 的结果,要求调用类 ex1_1的方法 method( )来输出相应的结果,请将程序补充完整。程序
4、运行结果如下: 0.6666666666666666 6 public class ex1_1 public static void main(String args) int n1=2,n2=3; ex1_1 obj1_1=new ex1_1(); obj1_1. ; public void method(int x,int y) System.out.println( ); System.out.println( ); (分数:-1.00)_正确答案:(method(n1,n2) (double)x/y x*y )解析:本题主要考查 Java 语言的数据类型和结构以及不同数据类型之间的转换
5、,和对象调用方法以及基本的运算操作。解题关键是熟悉 Java 语言的基本数据类型和类型之间的转换,用类的对象来调用方法,以及熟悉 Java 语言的基本运算。在本题中,第一空通过类 ex1_1 的对象 obj1_1 调用类 ex1_1 的方法method( ),将变量 n1 和 n2 作为参数传递给方法。第二空由于 x,y 都是 int,则 x/y 的结果为0.666,这会转换为 int,其值为 0。所以要对数据进行类型转换,将 x 转换为 double 型则 y 也转换为double 型,因此结果为 double,值为 0.666。第三空无需做类型转换,直接输出 x*y 的值 6 即可。2.简
6、单应用题 请完成下列 Java 程序:用 swing 实现一个简单的学生成绩管理器,显示出学生的姓名,java 成绩,c+成绩和这两门课的平均成绩,学生一共有 4 个人(Mike, Jack 等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变 Mike 的 java 成绩后,在平均成绩栏会自动更新为新的平均成绩。 注意:请勿改动 main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: (分数:-1.00)_正确答案:(String)jt.getValueAt(nRow,i) strDatanRow3=Float.toString(fAver
7、age) )解析:本题主要考查用 swing 基本构件设计图形用户界面,以及对二维数组的基本操作。解题关键是熟悉swing 基本构件 JTable 的使用方法,熟悉 swing 的基本事件机制,会使用 addTableModelListener()来注册该模型的一个 TableModelListener,一旦表格内容改变,tableChanged()方法会被执行,使用getFirstRow()方法来得到数据被改变的行并重新计算平均值,由于数组数据是用来存储表格的数据,可以直接更改该数组的值。本题中,第 1 个空,根据参数 nRow 和 i 定位相应的数组中的数据;第 2 个空,修改数组中记录平
8、均值的单元中的数据。3.综合应用题 下面是一个 Applet 程序,实现实心或者空心矩形的绘制。要求鼠标在 Applet 窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:-1.00)_正确答案:(g.clearRect(0,0,getSize().width,getSize().height) bStyle = false bStyle = true )解析:本题主要考查 Applet 图形界面编程与鼠标事件相结合进行简单的图形绘制。解题关键是熟悉Applet 中的事件机制,会利用鼠标事件进行简单的矩形绘制,通过 mouseUp(), mouseDown()来获取鼠标移动的坐标,熟悉 CheckboxGroup 类 Checkbox 类的用法,通过 Checkbox 来控制矩形是否填充。本题中,第 1 个空,对象 g 的方法 clearRect()的最后两个参数应该对调因为第 3 个参数是代表矩形的宽度,第四个是高度;第 2 个空,点击第 1 个 Checkbox 是不用填充,这里 bStyle=false 是表示用填充;第 3 个空,解释和第 2 个空的相似,正好相反。