1、二级 JAVA 机试-54 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:33.00)1.System.out.println(“*“);(分数:33.00)_二、2简单应用题(总题数:1,分数:33.00)2.item1.setEnabled(true);(分数:33.00)_三、3综合应用题(总题数:1,分数:34.00)3.下面是一个 Applet 程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值 a 的输入,可以判断输入的数字是否符合要求,一个 ok 按钮,点击则在画布中绘制曲线,以画布中的横坐标值
2、作为 sin()的参数 x。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:(分数:34.00)_二级 JAVA 机试-54 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:33.00)1.System.out.println(“*“);(分数:33.00)_正确答案:(i+sum+=i;sum+=+j;)解析:解析本题主要考查 for 循环语句、while 循环语句。解答本题的关键是熟练使用 for 循环语句、while 循环语句的使用。在本题中,for(i=1;i=10000;i
3、+)语句中的 i+是用来使循环变量递增 1,sum+=i;语句的功能是用来累加循环变量 i,sum+=+j;语句的功能是用来累加循环变量 j。二、2简单应用题(总题数:1,分数:33.00)2.item1.setEnabled(true);(分数:33.00)_正确答案:(strCommandequals(”item1”)strCommandequals(”item2”)解析:解析本题主要考查 AWT 建立菜单的基本方法和事件处理机制,以及控制菜单项的可选与否。解题关键是熟悉菜单的创建和设置方法,掌握菜单的事件处理模型,通过事件处理机制实现对菜单项的设置。本题中,第 1个空,判断菜单命令是由选
4、择 item1 项发出的,则进行相关的设置;第 2 个空,判断菜单命令是由选择item2 项发出的,则进行相关的操作。三、3综合应用题(总题数:1,分数:34.00)3.下面是一个 Applet 程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值 a 的输入,可以判断输入的数字是否符合要求,一个 ok 按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为 sin()的参数 x。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:(分数:34.00)_正确答案:(y=getSize()h
5、eight/2int y2=y+(int)(a*Mathsin(i+1)a=FloatparseFloat(tf1getText()解析:解析本题主要考查 Applet 的图形绘制,Applet 的生命周期以及其事件处理机制。解题关键是熟悉 Applet 窗口中坐标的布局,会使用 TextField,Canvas,Button 等构件,会使用内部类继承 Canvas 类,实现在画布中绘制图像的方法,并通过在主程序中结合事件处理机制来调用该方法。本题中,第一处,由于画布中的纵坐标是从上向下从 0 开始的,因此需要有一个相对坐标原点,这里取画布的一半;第二处,计算下一点的坐标,应该是相对于坐标原点 y 而言的坐标值,不应该是 y1;第三处,a 为 float 类型的变量,因此要用 Float 类的类型转换方法。