1、计算机二级(JAVA)上机考试 1 及答案解析(总分:-3.00,做题时间:90 分钟)1.基本操作题 下面的程序是求 9999 以内的“完全数“。所谓完全数是指这样的自然数:它的各个约数(不包括该数自身)之和等于该数自身。如 281+2+4+7+14 就是一个完全数。请在程序的每条横线处填写一个语句,使程序的功能完整。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class QuanShu public static void main(String args) for(int n=1;n_2.简单应用题 请完成下列 Java 程序:创建
2、一个具有 2 行 3 列的 GridLayout 管理器,包括Choice,Label,Button 构件,布局为第 1 行包括一个 Choice 构件(包括 2 个选项 item1 和 item2),一个Label 构件(当选择 Choice 构件中的选项时,Label 构件显示相应的名称,即,如果点击 item1 则 Label中显示 item1),和一个 exit 按钮(点击则退出应用程序),第 2 行包括 3 个 Button 构件。程序运行结果如下: (分数:-1.00)_3.综合应用题 下面是一个 Applet 程序,其功能是有 2 个按钮,分别为 First 和 Second,以
3、及一个 Label构件。要求点击 First 时则能在 Label 中显示出 Command:First,而点击 Second 时则能显示出Command:Second,要求只能使用重载一次 actionPerformed()方法。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。程序运行结果如下: (分数:-1.00)_计算机二级(JAVA)上机考试 1 答案解析(总分:-3.00,做题时间:90 分钟)1.基本操作题 下面的程序是求 9999 以内的“完全数“。所谓完全数是指这样的自然数:它的各个约数(不包括该数自身)之和等于该数自身。如 281+2+4+7+14 就是一个完全
4、数。请在程序的每条横线处填写一个语句,使程序的功能完整。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class QuanShu public static void main(String args) for(int n=1;n_正确答案:(n=divsum(n) n%i=0 s+=i; )解析:本题考查 for 循环语句、求余运算符(%)和 Java 语言的方法的使用。解答本题的关键是熟悉使用for 循环语句。在本题中,if(n=divsum(n)语句是用来调用 divsum(n)方法(其中 n 为方法的实际参数)和判断某个自然数是否为
5、“完全数“。n%i=0 是用来判断数 n 是否能被数 i 整除, s+=i;是用来累加某个自然数的所有约数。2.简单应用题 请完成下列 Java 程序:创建一个具有 2 行 3 列的 GridLayout 管理器,包括Choice,Label,Button 构件,布局为第 1 行包括一个 Choice 构件(包括 2 个选项 item1 和 item2),一个Label 构件(当选择 Choice 构件中的选项时,Label 构件显示相应的名称,即,如果点击 item1 则 Label中显示 item1),和一个 exit 按钮(点击则退出应用程序),第 2 行包括 3 个 Button 构件
6、。程序运行结果如下: (分数:-1.00)_正确答案:(new GridLayout(2,3) addItemListener(this) )解析:本题主要考查 Java 常用构件 Choice 和高级事件 ItemEvent 以及 GridLayout 布局管理器的用法。解题关键是,熟悉 GridLayout 布局管理器和 ItemEvent 的用法。在本题中,ItemEvent 在教材中并没有给出确切的用法,但是可以根据 ActionEvent 的 addActionEvent()方法和重载 actionPerformed()方法来完成对动作事件监听的用法来类推出 ItemEvent 事件
7、的监听方法,这里要求有根据已有知识进行举一反三的能力。3.综合应用题 下面是一个 Applet 程序,其功能是有 2 个按钮,分别为 First 和 Second,以及一个 Label构件。要求点击 First 时则能在 Label 中显示出 Command:First,而点击 Second 时则能显示出Command:Second,要求只能使用重载一次 actionPerformed()方法。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。程序运行结果如下: (分数:-1.00)_正确答案:(btn.addActionListener(this) btn.setActionCo
8、mmand(“second“) l.setText(str) )解析:本题主要考查 Java 语言中高级事件 ActionEvent 和 AWT 基本构件 Label 的常用方法的使用。解题关键是熟练掌握动作事件 ActionEvent 和 Label 构件的常用方法。在本题中,第 1 处,明确注册的事件监听器是监听按钮的,而不是 Label 的;第 2 处,调用 ActionEvent 的 setActionCommand()方法改变了ActionCommand,使按下第二个按钮时显示 Command:second 而不是 Command: First。第 3 处,调用 Label的 setText()方法,而不是 Button 的方法。