1、国家二级( JAVA)机试模拟试卷 63及答案与解析 一、基本操作题( 30分) 1 10位同学参加某团队测试,要求每位同学都必须及格,同时团队平均分不少于80分,整个团队才能够通过。每位同学的成绩可以通过随机数产生 (0 100)。请在程序的每条横线处填写一条语句,使程序的功能完整。 注意;请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序文件代码清单如下: _; public class While public static void main(String args) int fenshu=60; int sumfenshu=0; int i=1; w
2、hile(fenshu =60) import java.awt.*; import java.awt.event.*; import .*; import java.io.*; public class ex15_2 public static void main(String args) UrlFrame page = new UrlFrame(“http:/“); page.show(); class UrlFrame extends JFrame JTextArea jta = new JTextArea(“正在读取文件 .“); URL url; public UrlFrame(St
3、ring strAddr) super (strAddr);/使用父类的构造方法。 setSize(450, 300); JScrollPane jsp = new JScrollPane(jta); getContentPane().add(jsp); WindowListener wl = new WindowAdapter() public void windowClosing(WindowEvent we) System.exit(0); ; addWindowListener(wl); try url = new URL(strAddr); _; catch (MalformedUR
4、LException murle) System.out.println(“不合适的 URL:“+ strAddr); void getData(URL url) URLConnection con = null; InputStreamReader isr; BufferedReader readBuf; String strLine; StringBuffer strBuf = new StringBuffer(); try con = this.url.openConnection(); con.connect(); jta.setText(“打开连接 .“); isr = new In
5、putStreamReader(con.getInputStream(); readBuf = new BufferedReader(isr); jta.setText(“读取数据 .“); while (strLine = readBuf.readLine() != null) strBuf.append(strLine + “n“); _; catch (IOException e) System.out.println(“IO错误 :“ + e.getMessage(); 三、综合应用题( 30分) 3 下面是一个 Applet程序,其功能是建立两个文本区域,一个为编辑区,一个为只读区;
6、建立两个按钮,一个实现将编辑区中被鼠标选定的文本内容复制到只读区中,一个实现将只读区的全部文本内容清空。请改正程序中的错误 (有下划线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下: import java.awt.*; import java.applet.*; /* applet code=“ex14_3.class“ width=800 height=400 /applet */ public class ex14_3 extends Applet private Button okBtn, clearBtn; private St
7、ring strMessage; private TextArea tArea1, tArea2; public void init() strMessage = “Hello! Welcome to the test! n“ + “This is the NCR Examination! n“ + “Wish you good luck!“; tArea1 = new TextArea( 10, 25 ); tArea1.setText(strMessage); tArea2 = new TextArea( 10, 25 ); tArea2.setEditable( true ); okBt
8、n = new Button( “Copy“ ); clearBtn = new Button( “Clear“ ); add( tArea1 ); add( tArea2 ); add( okBtn ); add( clearBtn ); public boolean action( Event e, Object o ) if( e.target = okBtn ) tArea1.setText(tArea2.getSelectedText() ); else if( e.target = clearBtn ) tArea1.setText( “ “); return true; ex14
9、_3.html HTML HEAD TITLE ex14_3 /TITLE /HEAD BODY applet code=“ex14_3.class“ width=800 height=400 /applet /BODY /HTML 国家二级( JAVA)机试模拟试卷 63答案与解析 一、基本操作题( 30分) 1 【正确答案】 import java.math.* Math.random()*100 (i=10)&(sumfenshu/10) =80) 【试题解析】 本题主要考查 while循环语句的用法。解答本题的关键是熟练使用while循环语句。在本题中, import java.mat
10、h.*用来导入 java.math这个数学计算包; Math.random()*100用来产生 100个随机数; if(i=10)& &(samfenshu/10)=80)用来判断团队的人数是否为 10,平均分数是否大于等于 80。 二、简单应用题( 40分) 2 【正确答案】 getData(url) jta.setText(strBuf.toString() 【试题解析】 本题主要考查面向对象的基本编程思想, Swing构件的使用,以及包中的基本方法的使用。解题关键是能够从题目意思中提取有用信息,并抽象成自己制作的类,并实现这个 类,完成一些基本功能。本题中,第 1个空,调用类 UrlFr
11、ame内部的方法 getData,根据参数 url所指出的地址获得文件数据:第 2个空,将 strBuf中的数据显示到 jta对象所指定的文本区域中。 三、综合应用题( 30分) 3 【正确答案】 tArea2.setEditable(false) tArea2.setText(tArea1.getSelectedTex t() tArea2.setText(“ “) 【试题解析】 本题主要考查 Applet窗口、其事件处理机制以及对文本区域的相关操作 。解题关键是熟悉 TextArea的基本方法,如 setEditable()方法就是用来确定编辑模式的一个重要的方法,并且需要明确题目要求的两个文本区域的区别和联系,根据不同的事件,来对这两个文本区域进行操作。本题中,第 1个空,将第 2个文本区域 tArea2的编辑模式设定为只读,注意参数为 false,因为默认的编辑模式设定为可编辑的,用 true表示,所以参数应该是 false:第 2个空,响应单击 Copy按钮事件的语句应该将第 1个文本区 tAreal的被选择的文本内容取出放入第 2个文本区 tArea2中;第 3个空,响应单 击 Clear按钮事件的语句应该将第2个文本区 tArea2中的所有文本内容清空。