1、二级 JAVA机试 81及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.10位同学参加某团队测试,要求每位同学都必须及格,同时团队平均分不少于 80分,整个团队才能够通过。每位同学的成绩可以通过随机数产生(0100)。请在程序的每条横线处填写一条语句,使程序的功能完整。 注意;请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序文件代码清单如下: _; public class While public static void main(String args) int fenshu=60; int
2、 sumfenshu=0; int i=1; while(fenshu=60) import java.awt.event.*; public class BlueWindow public static void main(String args) Frame frm=new Frame (“欢迎参加 Java考试!“); TheAdapterTest listener=new TheAdapterTest(); frm. _; frm.setSize(200,200); frm.setBackground(Color.blue); frm. _; class TheAdapterTest
3、extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(1); (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是建立一个图形用户界面的窗口,包括一个文本显示区和一个按钮,单击按钮,可以在文本区已有的文本基础上追加显示 10条“欢迎您,参加 Java考试!”信息,并且文本区由滚动条控制文本的上下滚动。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下; im
4、port javax.swing.*; import java.awt.*; import java.awt.event.*; applet code=“ex13_3.class“ width=800 height=400 /applet public class ex13_3 extends JApplet JButton jb = new JButton(“Add Text“); JTextPane jtp = new JTextPane(); public void init() jb.addActionListener(new ActionListener() public void
5、actionPerformed(ActionEvent e) for(int i=1; i10; i+) Ujtp.getText(jtp.setText()+/U U“欢迎您,参加 Java考试!“)/U; ); Container cp = getContentPane(); cp.add(new JScrollPane(jtp); Ucp.add(BorderLayout. SOUTH, jtp)/U; public static void main(String args) ex13_3 obj13_3=new ex13_3(); String str = obj13_3.getCla
6、ss().toString(); if(str.indexOf(“class“) !=-1) str=str.substring(6); JFrame frm = new JFrame(str); frm.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent we) System.exit(0); ); Ufrm.getContentPane ().addiex13 3)/U; frm.setSize(300, 400); frm.setVisible(true); Bex13_3.html/B
7、HTML HEAD TITLEex13_3/TITLE /HEAD BODY applet code=“ex13_3.class“ width=800 height=400 /applet /BODY /HTML(分数:30.00)_二级 JAVA机试 81答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.10位同学参加某团队测试,要求每位同学都必须及格,同时团队平均分不少于 80分,整个团队才能够通过。每位同学的成绩可以通过随机数产生(0100)。请在程序的每条横线处填写一条语句,使程序的功能完整。 注意;请勿改动 main()主方
8、法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序文件代码清单如下: _; public class While public static void main(String args) int fenshu=60; int sumfenshu=0; int i=1; while(fenshu=60) import java.awt.event.*; public class BlueWindow public static void main(String args) Frame frm=new Frame (“欢迎参加 Java考试!“); TheAdapterTest liste
9、ner=new TheAdapterTest(); frm. _; frm.setSize(200,200); frm.setBackground(Color.blue); frm. _; class TheAdapterTest extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(1); (分数:40.00)_正确答案:()解析:addWindowListener(listener) setVisible(true) 解析 本题主要考查窗体事件的处理机制。解答本题的关键是熟悉 Java语言的事件
10、处理机制(事件、事件源和事件处理者)。在本题中,frm.addWindowListener(listener);语句的功能是为窗体对象注册监听器;frm.setVisible (true)语句的功能是使生成的窗体具有可见性,若 frm.setVisible(false),则生成的窗体是不可见的。三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是建立一个图形用户界面的窗口,包括一个文本显示区和一个按钮,单击按钮,可以在文本区已有的文本基础上追加显示 10条“欢迎您,参加 Java考试!”信息,并且文本区由滚动条控制文本的上下滚动。请改正程序中的错误(
11、有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下; import javax.swing.*; import java.awt.*; import java.awt.event.*; applet code=“ex13_3.class“ width=800 height=400 /applet public class ex13_3 extends JApplet JButton jb = new JButton(“Add Text“); JTextPane jtp = new JTextPane(); public void ini
12、t() jb.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) for(int i=1; i10; i+) Ujtp.getText(jtp.setText()+/U U“欢迎您,参加 Java考试!“)/U; ); Container cp = getContentPane(); cp.add(new JScrollPane(jtp); Ucp.add(BorderLayout. SOUTH, jtp)/U; public static void main(String args
13、) ex13_3 obj13_3=new ex13_3(); String str = obj13_3.getClass().toString(); if(str.indexOf(“class“) !=-1) str=str.substring(6); JFrame frm = new JFrame(str); frm.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent we) System.exit(0); ); Ufrm.getContentPane ().addiex13 3)/U; fr
14、m.setSize(300, 400); frm.setVisible(true); Bex13_3.html/B HTML HEAD TITLEex13_3/TITLE /HEAD BODY applet code=“ex13_3.class“ width=800 height=400 /applet /BODY /HTML(分数:30.00)_正确答案:()解析:jtp.setText(jtp.qetText()+“欢迎您,参加 Java考试!/n”) cp.add(BorderLayout.SOUTH.jb) frm.getContentPane().add(obj13_3) 解析 本题
15、主要考查 Applet和 Swing结合进行图形用户界面设计的综合应用。解题关键是掌握 Swing的基本构件 JTextPanel,JButton, JScrollPanel 的用法,掌握BorderLayout布局管理器的使用方法,以及熟练掌握最基本的对象概念。本题中,第 1处,JTextPanel的两个基本方法,setText()和 getText(),熟悉这两个功能,则很容易就能将错误改正;第 2处,应该是通过 BorderLayout布局管理器在窗口的最下方添加一个 JButton对象,需要清楚程序中每个对象所对应的类;第 3处,应该是将类 ex13_3的对象。obj13_3 加入容器中,而不是把类作为参数传递给 add()方法。程序的输出结果如下。