1、二级 JAVA机试 3及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下列程序中,给出两个整数 2和 3,分别求 2除以 3和 2乘以 3的结果,要求调用类 ex1_1的方法method()来输出相应的结果,请将程序补充完整。程序运行结果如下: 0.6666666666666666 6 public class ex1_1 public static void main(Stringargs) int n1=2,n2=3; ex1_1 obj1_1=new ex1_1(); obj1_1. _; public void metho
2、d(int x,int y) System.out.println(_); System.out.println(_); (分数:30.00)_二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:创建一个具有 2行 3列的 GridLayout管理器,包括 Choice,Label,Button构件,布局为第 1行包括一个 Choice构件(包括 2个选项 item1和 item2),一个 Label构件(当选择 Choice构件中的选项时,Label 构件显示相应的名称,即,如果点击 item1则 Label中显示 item1),和一个 exit按钮(点击则退
3、出应用程序),第 2行包括 3个 Button构件。程序运行结果如下: (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_二级 JAVA机试 3答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下列程序中,给出两个整数 2和 3,分别求
4、2除以 3和 2乘以 3的结果,要求调用类 ex1_1的方法method()来输出相应的结果,请将程序补充完整。程序运行结果如下: 0.6666666666666666 6 public class ex1_1 public static void main(Stringargs) 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(_); (分数:30.00)_正确答案:()解析:method(
5、n1,n2) (double)x/y x*y 解析 本题主要考查 Java语言的数据类型和结构以及不同数据类型之间的转换,和对象调用方法以及基本的运算操作。解题关键是熟悉 Java语言的基本数据类型和类型之间的转换,用类的对象来调用方法,以及熟悉 Java语言的基本运算。在本题中,第一空通过类ex1_1的对象 obj1_1调用类 ex1_1的方法 method(),将变量 n1和 n2作为参数传递给方法。第二空由于x, y 都是 int,则 x/y的结果为 0.666,这会转换为 int,其值为 0。所以要对数据进行类型转换,将 x转换为 double型则 y也转换为 double型,因此结果
6、为 double,值为 0.666.。第三空无需做类型转换,直接输出 x*y的值 6即可。二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:创建一个具有 2行 3列的 GridLayout管理器,包括 Choice,Label,Button构件,布局为第 1行包括一个 Choice构件(包括 2个选项 item1和 item2),一个 Label构件(当选择 Choice构件中的选项时,Label 构件显示相应的名称,即,如果点击 item1则 Label中显示 item1),和一个 exit按钮(点击则退出应用程序),第 2行包括 3个 Button构件。程
7、序运行结果如下: (分数:40.00)_正确答案:()解析:new GridLayout(2,3) addItemListener(this) 解析 本题主要考查 Java常用构件 Choice和高级事件 ItemEvent以及 GridLayout布局管理器的用法。解题关键是,熟悉 GridLayout 布局管理器和ItemEvent的用法。在本题中,ItemEvent 在教材中并没有给出确切的用法,但是可以根据 ActionEvent的 addActionEvent()方法和重载 actionPerformed()方法来完成对动作事件监听的用法来类推出ItemEvent事件的监听方法,这里
8、要求有根据已有知识进行举一反三的能力。三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_正确答案:()解析:gdrawLine(downX,downY,upX,upY) bDraw = true event.target = btn 解析 本题主要考查 Applet的图形绘制,鼠标事件处理和用户界面的相关知识点以及会使
9、用 boolean类型的变量控制程序的流程。解题关键是,熟悉 Applet的图形绘制,会用 Graphics类的基本绘图方法,例如 drawLine()方法;熟悉鼠标事件处理,并能与图形绘制和用户界面设计相结合做简单的综合应用;掌握一定的程序流程的控制思想。本题中,主要的思想是首先判断用户将鼠标按下与放开的坐标位置,然后使用 drawLine()方法绘制由鼠标按下点到放开点的直线。第 1处,将 drawLine()方法的几个参数颠倒,要明白此方法的几个参数的确切含义才能正确修改。第 2处,将 bDraw变量的值设为 false,这导致程序在调用 paint()方法时不能进入 g.drawLine语句,应改为 true。第 3处,有两个错误:首先要明确 clear是 btn对象显示在用户界面的名称,而不能作为对象来与 event.target做比较,因此应改为 btn,这在调试时就会出现变量无法解析的错误;其次,符号!二应改为符号二二这里要确定点击 btn事件发生才能做清除,否则不能达到预期效果。