1、国家二级( JAVA)机试模拟试卷 104及答案与解析 一、基本操作题( 30分) 1 请完善程序 (程序文件名: Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。 题目要求 完善该程序并进行调试,使程序输出结果如下图所示。源程序: /用 2 20的偶数去初始化数组 import javax.swing.*; public class Java_1 public static void main(String args) final int ARRAY_SIZE=10; int n; /7I用整形数组 String output
2、=“ “: n= (1) intARRAY_SIZE; /分配数组 /给数组赋值 for(int i=0; i n.length; i+)ni=2+2*i; output+=“数组下标 t值 n“; for(int i=0; in.length; i+)output+=i+“t“+ni+“n“: JTextArea outputArea= (2) JTextArea(11,10); outputArea.setText(output); JOptionPane (3) (null,outputArea, “用 2至 20的偶数去初始化数组 “, JOptionPane.INFORMATION_
3、MESSAGE): System.exit(0); 二、简单应用题( 40分) 2 请完善程序 (程序文件名: Java_2.java),并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。 题目 要求: 对字符串进行缓存处理,程序运行的某次结果如下图所示。源程序: import javax.swing.*; public class Java_2 public static void main( String args ) StringBuffer buf = new StringBuffer( “你好 !祝你好运 !“); String output
4、= “ buf = “ + buf.toString( ) + “ nCharacter at 0:“ + buf.charAt(0)+ “ nCharacter at 4: “ + buf.charAt(4) ; char charArray= (1) charbuf.length( ); buf. (2) ( 0, buf.length(),charArray,0); output + = “ nn 在字符串缓存中的字符时 : “ ; for(int i = 0; i (3) ; +i ) output += charArrayi; buf.setCharAt( 0,您 ) ; buf.s
5、etCharAt( 6,材 ); output + = “ nnbuf = “ + buf.toString( ) ; buf. (4) ; output + = “ nnbuf = “ + buf.toString( ) ; JOptionPane. showMessageDialog( null, output, “字符串缓存的字符相关方法示范 “, JOptionPane.INFORMATION_MESSAGE); System. exit(0) ; 三、综合应用题( 30分) 3 有两个文件 Java_3.java和 Java_3.html,其中 Java_3.java是不完整的。请完
6、善程序,并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。 题目要求 在一个 Applet窗口中,显示一个字符串,输出结果如下图所示。 Java_3.java文件源程序: import java.awt.*; import javax.swing.*; public class Java_3 (1) JApplet public void (2) () Container contentPane=getContentPane(); JLabel label=new JLabel(“Java的诞生是对传统计算模式的挑战 !“, SwingConstants
7、.CENTER); contentPane.add( (3) ); Java_3.html文件源程序: html applet code=“Java_3.class“width=300 height=50 /applet /html 国家二级( JAVA)机试模拟试卷 104答案与解析 一、基本操作题( 30分) 1 【正确答案】 new new showMessageDialog 二、简单应用题( 40分) 2 【正确答案】 new getChars charArray.length reverse() 【试题解析】 由程序的输出结果可以看出,最后将 StringBuffer 对象 buf
8、进行了反序,此处应调用方法 reverse()进行反序。 程序解析 本程序考查用 StringBuffer 表示可变字符串对象和用字符数组表示字符串,将结果用对话框输出。用 String 类表示的是固定长度的字符串。程序中用到了 StringBuffer 中的几个方法: (1) setCharAt(int index, char ch) 将给定索引处的字符设置为 ch。 (2) reverse() 将此字符序列用其反 转形式取代。 (3) getChars(int srcBegin, int srcEnd, char dst, int dstBegin) 将字符从此序列复制到目标字符数组 ds
9、t(与 string中方法同 )。 (4) toString() 返回此序列中数据的字符串表示形式。 (5) charAt(int index) 返回此序列中指定索引处的 char值 (与 String中方法同 )。 (6) length() 返回长度 (字符数 )(与 String中方法同 )。 三、综合应用题( 30分) 3 【正确答案】 extends init label 【试题解析】 创建了标签控件,将构件加入到用 getContentPane()方法获得JFrame的内容面板上。 程序解析 本程序是基于 Swing的 Applet用户界面。在 Applet中添加了一个JLabel
10、构件。同时还考查了 Applet生命周期的几个关键方法。 (1) init() Applet 运行时,首先由浏览器调用 init()方法,通知该 Applet已被加载到浏览器中,使 Applet执行一些基本初始化。该方法经 常被重写,实现设置布局管理器、数据初始化、放置一些构件等功能。本程序就是如此。 (2) start() 在 init()方法完成后,将调用 start()方法,使 Applet成为激活状态。 (3) stop() 当 Applet被覆盖时,可用该方法停止线程。 (4) destroy() 关闭浏览器时调用,彻底终止 Applet,从内存卸载并释放该Applet的所有资源。 (5) paint(Graphics g) 画 Applet界面的基本方法。