1、二级 JAVA 机试-232 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.下面的程序中定义了两个方法求自然数 1100 的和。具体如下:int suml(int n);利用循环求 1n的和,int sum2(int n);利用递归方法求和 1n 的和;在 main()方法中调用这两个方法求 1100 的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。public class Sumpublic static void main(String args)/1调用 suml(int n),求 1100 的和System
2、outprintln(“1100 的和:“+sum1(100);/2,调用 sum2(int n),求 1100 的和System.out.println(“1100 的和:“+sum2(100);static int suml(int n)int result=0;for(int i=1;i=n;i+)_retrun result;static int sum2(int n)if(_)return 1;else_(分数:30.00)_二、2简单应用题(总题数:1,分数:40.00)2.请完成下列 Java 程序。程序的执行结果是生成一个具有一个按钮的窗体,并且按钮的标签是“欢迎参加全国计算机
3、等级考试Java 部分!”字样。(分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)3.下面是一个 Applet 程序,程序的功能是显示一个圆心在 Applet 的中心,半径从 0 到 100 像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。注意:不改动程序的结构,不得增行或删行。程序的执行结果为:(分数:30.00)_二级 JAVA 机试-232 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.下面的程序中定义了两个方法求自然数 1100 的和。具体如下:int su
4、ml(int n);利用循环求 1n的和,int sum2(int n);利用递归方法求和 1n 的和;在 main()方法中调用这两个方法求 1100 的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。public class Sumpublic static void main(String args)/1调用 suml(int n),求 1100 的和Systemoutprintln(“1100 的和:“+sum1(100);/2,调用 sum2(int n),求 1100 的和System.out.println(“1100 的和:“+sum2(100);static
5、 int suml(int n)int result=0;for(int i=1;i=n;i+)_retrun result;static int sum2(int n)if(_)return 1;else_(分数:30.00)_正确答案:(result+=i;n=1return n+sum2(n-1);)解析:解析 本题主要考查递归调用的算法及 for 循环语句的使用。解答本题的关键是热练掌握递归调用的算法及 for循环语句的使用在本题中,result+=i;语句的功能是累加求和,if(n=1)语句的功能是判断当 n=1 时,累加和为 1,return n+sum2(n-1);语句的功能是递
6、归调用 sum2(int n)方法求和。二、2简单应用题(总题数:1,分数:40.00)2.请完成下列 Java 程序。程序的执行结果是生成一个具有一个按钮的窗体,并且按钮的标签是“欢迎参加全国计算机等级考试Java 部分!”字样。(分数:40.00)_正确答案:(implementsextends)解析:解析 本题主要考查 Java 的事件处理(驱动)机制。解答本题的关键是掌握事件处理机制中的事件、事件源和事件处理者的概念。在 Java 的事件处理机制中,一般情况下涉及到 4 个概念:(1)事件,用户对界面操作在Java 语言上的描述,以类的形式出现,例如鼠标操作所对应的事件类是 MousE
7、vent。(2)事件源,事件发生的场所,通常就是各个构件,例如按钮 Button。(3)事件处理者,接受事件对象并进行处理的对象。(4)事件适配器,Java 语言为一些 Listener 接口提供了适配器(Adapter)类。可以通过继承事件所对应的Adapter 类,重写需要的方法,无关方法不用实现。值得注意的是,实现某个接口用关键字 implement,而继承某个事件适配器类要用关键字 extends。class Monitor implements ActionListener 语句功能是声明一个实现 ActionListener 接口的类 Monitor,class TestListe
8、ner extends WindowAdapter 功能是声明一个继承事件适配器类 WindowAdapter 的 TeatListener 类。三、3综合应用题(总题数:1,分数:30.00)3.下面是一个 Applet 程序,程序的功能是显示一个圆心在 Applet 的中心,半径从 0 到 100 像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。注意:不改动程序的结构,不得增行或删行。程序的执行结果为:(分数:30.00)_正确答案:(m_Draw=new Thread(this),if (currentX100 | | (currentY100)repaint();)解析:解析 本题主要考查 Java Applet 程序的设计,Java 语句的线程机制以及 for 循环语句。解答本题的关键是比较熟练的掌握 Java Applet 程序的设计,Java 语句的线程机制以及 for 循环语句的有关知识。m_Draw=new Thread(this);语句的功能是以当前对象为参数创建线程对象m_Draw,if(currentX100|(currentY100)语句的功能是获取小球的坐标,repaint();语句的功能是重新绘制小球。