1、计算机二级(JAVA)上机考试 10 及答案解析(总分:-3.00,做题时间:90 分钟)1.基本操作题 下列程序中,分别计算 1,2,3,10 的阶乘,并输出计算结果,请将程序补充完整。 程序运行结果如下: 1!=1 2!=2 3!=6 4!=24 5!=120 6!=720 7!=5040 8!=40320 9!=362880 10!=3628800 public class ex10_1 public static void main(String args) long lFactorial; for(int i=1;i=10;i+) ; for(int j=2; ;j+) ; Syst
2、em.out.println(i+“!=“+lFactorial); (分数:-1.00)_2.简单应用题 请完成下列 Java 程序:制作一个图形用户界面,上方包含一个 TextField 和 Button 构件,实现输入字符串,点击 Button 获取文本区的字符;中间显示 Label 的内容;下方是 4 个按钮,分别实现控制 Label 在最左边,在中间,在右边和退出程序的功能。注意:请勿改动 main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: (分数:-1.00)_3.综合应用题 下面是一个 Applet 程序,其功能是在绘图区域中通过鼠标的移动来
3、绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。程序运行结果如下: (分数:-1.00)_计算机二级(JAVA)上机考试 10 答案解析(总分:-3.00,做题时间:90 分钟)1.基本操作题 下列程序中,分别计算 1,2,3,10 的阶乘,并输出计算结果,请将程序补充完整。 程序运行结果如下: 1!=1 2!=2 3!=6 4!=24 5!=120 6!=720 7!=5040 8!=40320 9!=362880 10!=3628800 public class ex10_1 public static void ma
4、in(String args) long lFactorial; for(int i=1;i=10;i+) ; for(int j=2; ;j+) ; System.out.println(i+“!=“+lFactorial); (分数:-1.00)_正确答案:(lFactorial=1 j=i lFactorial*=j )解析:本题主要考查 for 循环语句和简单的数学计算。解题要点是熟练掌握 for 循环语句,会解决一些简单的数学问题,熟悉求阶乘的算法,并用程序实现这一算法。本题中,第 1 个空,要对 lFactorial 变量进行初始化,因为需要计算 1 到 10 一共 10 个数的阶
5、乘,所以最外层循环共执行 10 次,每次都需要将lFactorial 重新初始化为 1;第 2 个空,内层循环实现某个数的阶乘,因此循环变量的上界应该是j=i;第 3 个空,阶乘算法的公式,做累乘。2.简单应用题 请完成下列 Java 程序:制作一个图形用户界面,上方包含一个 TextField 和 Button 构件,实现输入字符串,点击 Button 获取文本区的字符;中间显示 Label 的内容;下方是 4 个按钮,分别实现控制 Label 在最左边,在中间,在右边和退出程序的功能。注意:请勿改动 main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下:
6、(分数:-1.00)_正确答案:(add(“South“,p) l.setAlignment(Label.LEFT) )解析:本题主要考查 AWT 基本构件 Button, Pane, Label 和 TextField 结合的简单应用。解题关键是熟悉这几种基本构件一般用法,会设置 Label 在窗口中的位置。本题中,第 1 个空,将面板构件放在窗口的最下方;第 2 个空,根据 Button 事件调用 l 对象的 setAlignment()方法,设置 Label 在面板中的位置。3.综合应用题 下面是一个 Applet 程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按
7、钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。程序运行结果如下: (分数:-1.00)_正确答案:(g.drawLine(downX, downY, upX, upY) bDraw = true event.target = btn )解析:本题主要考查 Applet 的图形绘制,鼠标事件处理和用户界面的相关知识点以及会使用 boolean 类型的变量控制程序的流程。解题关键是,熟悉 Applet 的图形绘制,会用 Graphics 类的基本绘图方法,例如 drawLine()方法;熟悉鼠标事件处理,并能与图形绘制和用户界面设计相结合做简单的综合应用
8、;掌握一定的程序流程的控制思想。本题中,主要的思想是首先判断用户将鼠标按下与放开的坐标位置,然后使用 drawLine()方法绘制由鼠标按下点到放开点的直线。第 1 处,将 drawLine()方法的几个参数颠倒,要明白此方法的几个参数的确切含义才能正确修改。第 2 处,将 bDraw 变量的值设为 false,这导致程序在调用 paint()方法时不能进入 g.drawLine 语句,应改为 true。第 3 处,有两个错误:首先要明确clear 是 btn 对象显示在用户界面的名称,而不能作为对象来与 event.target 做比较,因此应改为 btn,这在调试时就会出现变量无法解析的错误;其次,符号!=应改为符号=这里要确定点击 btn 事件发生才能做清除,否则不能达到预期效果。