1、国家二级( JAVA)机试模拟试卷 106及答案与解析 一、基本操作题( 30分) 1 请在下面程序中的每条横线处填写一个语句,使程序的功能完整。程序的输出结果为: TIME=1867 b=9 i=123 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 import java io *; public class DataType public_void main(String args) byte b; int i;/定义变量 i为 int类型 _ /定义常量 TIME为整型,且值为 1867 i=123; /给变量 i赋值,该值为十进制的 123 _/给
2、变量赋值,改值为,八进制的11,十进制的 9 System out println(“TIME”+TIME); System out println(“b=“+b); System out println(“i=“+i); 二、简单应用题( 40分) 2 以下程序中,使用适当的布局管理器,在 Frame框的 “North”位置添加一句提示信息,在 “South”位置添加一个单行文本框,在这个文本框中输入的内容将会显示在“Center”位置。运行结果如下图所示。 注意:请勿改动 main()主方法和其他已有语句内容,仅在横线处填入适当语句。 import java.awt.*; import j
3、ava.awt.event.*; public class Example2_6 extends Frame public static void main(String argv) Example2_6 frame = new Example2_6(“Example2_6“); frame, init (); frame.setSize(300, 300); frame, show (); public Example2_6(String name) super (name); addWindowListener (new WindowAdapter () public void windo
4、wClosing(WindowEvent e) _; ); public void init() setLayout (new _); Label labelTitle = new Label(“在文本框中输入字符串,可以在Frame 中间显示 “); Label showTextLabel = new Label(); TextField textField = new TextField(“请在这里输入字符串 “); textField.addActionListener (new AddStringListener(showTextLabel, textField) ); add(“No
5、rth“, labelTitte); add(“Center“, showTextLabel); add(“South“, textField); class AddStringListener implements ActionListener Label label; TextField textField; public AddStringListener(Label label, TextField textField) this. label = label; this.textField = textField; public void actionPerformed(Action
6、Event e) label, setText (textField. getText (); 三、综合应用题( 30分) 3 下面是一个 Applet程序,其功能是有 2个按钮,分别为 First和 Second,以及一个 Label构件。要求单击 First时则能在 Label中显示出 Command: First,而单击Second时则能显示出 Command: Second,要求只能使用重载一次 actionPerformed()方法。请改正程序中的错误 (有下划线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: import java
7、.awt.*; import java.awt.event.*; import java.applet.*; /* applet code=ex3_3.class width=800 height=400 /applet */ public class ex3_3 extends Applet implements ActionListener private String str=“ok“; private Label 1; private Button btn; public void init( ) setLayout(null); 1=new Label(str); 1.reshape
8、(10,10,150,30); add(1); btn=new Button(“First“); btn.reshape(10,50,60,20); 1.addActionListener(this); add(btn); btn=new Button(“Second“); btn.reshape(10,100,60,20); btn.setActionCommand(“First“); btn.addActionListener(this); add(btn); public void actionPerformed(ActionEvent ae) str=“Command:“+ae.get
9、ActionCommand( ); btn.setText(str); ex3_3.html HTML HEAD TITLE ex3_3 /TITLE /HEAD BODY applet code=“ex3_3.class“width=800 height=400 /applet /BODY /HTML 国家二级( JAVA)机试模拟试卷 106答案与解析 一、基本操作题( 30分) 1 【正确答案】 Static final int TIME=1867; b=011; 【试题解析】 本题主要考查 main()主方法的使用以及如何定义常量。 static修饰符是说明 main()方法是静态方法
10、, final int TIME=1867;语句的功能是定义一个整型的常量 TIME,并且其值为 1867, b=011;语句是给变量 b赋值为八进制的11,十进制的 9。 二、简单应用题( 40分) 2 【正确答案】 System exit(0) BorderLayout()或者带参数的 BorderLayout(int, int)也正确 【试题解析】 本题考查知识点: AWT库的使用、布局管理器的使用。 解题思路:程序使用 “labelTitle”来显示提示信息,使用 “textField”来获取用户的输入,最后将用户输入的结果通过 “showTextLabel”显示出来。 Frame的关
11、闭按钮的处理方式与 JFrame的方式不相同, Frame必须手动实现退出按钮的事件处理机制,否则单击关闭按钮程序不会做出响应。 本题的第一个空就是对退出按钮的事件响应内容。 BorderLayout布局管理器将容器分为五个区域: North、 South、 East、 West和Center。可以指定构件放在那个区域,但是每个区域只能放置一个构件。第二个空即是为 Frame设置 BorderLayout类型的布局管理器。 三、综合应用题( 30分) 3 【正确答案】 Btn.addActionListener(this) Btn.setActionCommand(“second”) 1.setText(str) 【试 题解析】 本题主要考查 Java语言中高级事件 ActionEvent和 AWT基本构件Label的常用方法的使用。解题关键是熟练掌握动作事件 ActionEvent和 Label构件的常用方法。在本题中,第 1处,明确注册的事件监听器是监听按钮的,而不是 Label的;第 2处,调用 ActionEvent的 setActionCommand()方法改变了ActionCommand,使按下第二个按钮时显示 Command: second而不是 Command: First。第 3处,调用 Label的 setText()方法,而不是 Button的方法。