您的当前位置:首页正文

国家二级(JAVA)机试模拟试卷63(题后含答案及解析)

来源:个人技术集锦


国家二级(JAVA)机试模拟试卷63 (题后含答案及解析)

题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题

基本操作题(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; while((fenshu>=60)&&(i<=10)) {fenshu=(int)(______);

System.out.println(fenshu+” “);sumfenshu+=fenshu; i++;} System.out.println( ); if(______)System.out.println(“团队通过”);elseSystem.out.println(“团队测试不通过”); } }

正确答案:import java.math.*Math.random( )*100(i==10)&&((sumfenshu/10)>=80)

解析:本题主要考查while循环语句的用法。解答本题的关键是熟练使用while循环语句。在本题中,import java.math.*用来导入 java.math这个数学计算包;Math.random( )*100用来产生100个随机数;if((i==10)& &((samfenshu/10)>=80))用来判断团队的人数是否为10,平均分数是否大于等于80。

简单应用题(40分)

2. 请完成下列Java程序:读取新浪首页文件的数据并且显示出来。要求编写JFrame扩展类,以String类的对象定义的url地址作为入口参数,该类实现根据url参数指定的地址进行连接和读取数据,并且能显示在一个文本区域内。 注童;请勿改动main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。 源程序文件代码清单如下: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; public class ex15_2 { public static void main(String args[]) {UrlFrame page = new UrlFrame(“http://www.sina.com.cn”);page.show( ); } } class UrlFrame extends JFrame { JTextArea jta = new JTextArea(“正在读取文件...”); URL url; public UrlFrame(String 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 (MalformedURLException 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 InputStreamReader(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( ));} } }

正确答案:getData(url)jta.setText(strBuf.toString( ))

解析:本题主要考查面向对象的基本编程思想,Swing构件的使用,以及java.net包中的基本方法的使用。解题关键是能够从题目意思中提取有用信息,并抽象成自己制作的类,并实现这个类,完成一些基本功能。本题中,第1个空,调用类UrlFrame内部的方法getData,根据参数url所指出的地址获得文件数据:第2个空,将strBuf中的数据显示到jta对象所指定的文本区域中。

综合应用题(30分)

3. 下面是一个Applet程序,其功能是建立两个文本区域,一个为编辑区,一个为只读区;建立两个按钮,一个实现将编辑区中被鼠标选定的文本内容复制到只读区中,一个实现将只读区的全部文本内容清空。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下: 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 String 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 );okBtn = 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_3.html <HTML> <HEAD> <TITLE>ex14_3</TITLE> </HEAD> <BODY> <applet code=“ex14_3.class” width=800 height=400> </applet> </BODY></HTML>

正确答案: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中的所有文本内容清空。

因篇幅问题不能全部显示,请点此查看更多更全内容