1、二级 JAVA 机试-164 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:33.00)1.下列程序中,要求从键盘接受字符输入,直到输入字符为“e”(注意是小写)时停止,并且将输入的字符(“e”之前的字符)显示在屏幕上。请将程序补充完整。程序运行结果如下:Keep typing,it will stop while enter eddfsofkjlvncozieowdsfadsfddfsofkjlvncoziimport java.io.*;public class ex4_1 public static void main(String args)
2、 char ch;System.out.println(“Keep typing,it will stop while enter e.“);trywhile(ch= _)!=e)System._;catch(IOException Joe)System._;(分数:33.00)_二、2简单应用题(总题数:1,分数:33.00)2.请完成下列 Java 程序:创建一个下拉式菜单,菜单项包括 3 个 CheckboxMenultem(复选框),一条分割线和一个 Exit 项。要求打开或关闭复选框时,确定是哪个被切换,是开还是关,并输出它的状态;选择Exit 项能够退出程序。注意:请勿改动 mai
3、n()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下;(分数:33.00)_三、3综合应用题(总题数:1,分数:34.00)3.下面是一个 Applet 程序,其功能是从 3-100 之间(包括 3 和 100)每隔 0.5 秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:(分数:34.00)_二级 JAVA 机试-164 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:33.00)1.下列程序中,
4、要求从键盘接受字符输入,直到输入字符为“e”(注意是小写)时停止,并且将输入的字符(“e”之前的字符)显示在屏幕上。请将程序补充完整。程序运行结果如下:Keep typing,it will stop while enter eddfsofkjlvncozieowdsfadsfddfsofkjlvncoziimport java.io.*;public class ex4_1 public static void main(String args) char ch;System.out.println(“Keep typing,it will stop while enter e.“);try
5、while(ch= _)!=e)System._;catch(IOException Joe)System._;(分数:33.00)_正确答案:(char)System.in.read()out.print(ch)out.println(ioe.getMessage()解析:解析本题主要考查 Java 基本的 I/O 输入输出流,while 循环语句以及对 char 类型数据的操作。解题关键是,熟练掌握 Java 基本的 I/O 操作,会输出异常信息的基本语句。本题中,第 1 个空,判断从屏幕中输入的字符是否为“e”,需将读到的字符转换 char 类型数据,再进行比较;第 2 个空,填入基本的
6、输出语句,完成将 ch 中的数据显示到屏幕中;第 3 个空,会调用返回 I/O 异常信息的方法,并显示到屏幕中。二、2简单应用题(总题数:1,分数:33.00)2.请完成下列 Java 程序:创建一个下拉式菜单,菜单项包括 3 个 CheckboxMenultem(复选框),一条分割线和一个 Exit 项。要求打开或关闭复选框时,确定是哪个被切换,是开还是关,并输出它的状态;选择Exit 项能够退出程序。注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下;(分数:33.00)_正确答案:(ItemEvent.SELECTEDSystem.out.
7、println(“ SELECTED “)解析:解析本题主要考查图形用户界面以及事件监听器的使用以及 case 语句的使用。解题关键是熟练掌握Menu,MenuBar, MenuItem,CheckbokMenuItem 等构件的简单应用,ItemListener 和 ActionListener 的简单应用以及 case 语句的使用。本题中,要求明白 case 语句二个分支的含义,就是要判断复选框的状态是开还是关,然后输出状态信息,第 1 个空,判断某个复选框选项是否打开,如果打开,就在第 2 个空处将信息输出。三、3综合应用题(总题数:1,分数:34.00)3.下面是一个 Applet 程
8、序,其功能是从 3-100 之间(包括 3 和 100)每隔 0.5 秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:(分数:34.00)_正确答案:(String.valueOf(n4_3)i101 或者 i=100obj4_3.setInt(i)解析:解析本题主要考查线程的概念和使用,Applet 的执行过程和窗口,for 循环语句以及字符串和 int 型的数据转换和面向对象编程的基本思想。解题关键是熟练地将 Applet 的执行和线程的基本思想结合完成一定
9、的综合性的应用;熟练掌握线程的建立、运行以及线程类与封装类之间的信息传递方式,即通过对象调用封装的方法来进行,如语句。obj4_3.repaint()。本题中,第一处,不可以直接填入 n4_3,会导致参数类型不符合的错误,应该用 String 类的 valueOf()方法对 int 型数据进行转换得到 String 类型数据:第二处,注意题目要求,需要包括 3 和 100,因此循环变量的上界应该是 i101 或者 i=100,第三处,由于 n4_3是类 ex4_3 的私有成员,因此不可以直接用对象。obj4_3 来调用这个成员变量,需要通过类 ex4_3 的方法 setInt()来实现对私有成员变量的修改。