1、二级 JAVA机试 2及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下列程序中,要求建立一个包含一个方法的类,这个方法实现数组的拷贝,要求首先用直接初始化原始数组,然后将原始数组中的数据拷贝到目的数组,并分别输出原始数组和目的数组。要求数组类型为String类型,大小为 4,采用动态分配的方式对数组进行初始化。请将程序补充完整。 程序运行结果如下: 原始的: 小龙 小张 小李 小陈 复制后的: 小龙 小张 小李 小陈 public class ex5_1 public static void main(Stringargs) e
2、x5_1 obj5_1:new ex5_1(); obj5_1._; public void method5_1() int i=0; String strMember = new String4; String strTemp = new String4; strMember0 = “小龙“ ; strMember1 = “小张“ ; strMember2 = “小李“ ; strMember3 = “小陈“ ; for(i=0; i4; i+) _; System.out.println(“原始的;“); for(i=0; i4; i+) System.out.println(_); Sy
3、stem.out.println(“复制后的:“); for(i=0; i4; i+) System.out.println (strTempi); (分数:30.00)_二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:建立一个 String类型的数组,实现该数组的自然排序,并输出结果。该数组采用直接初始化,大小不限。(提示;使用 Collations接口。) 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: fang liu ouyang sun wll zhang import java.util.*
4、; public class ex5_2 public static void main(Stringargs) Vector vName=new Vector(); StringstrName=“zhang“,“sun“,“wu“,“liu“,“fang“,“ouyang“; for(int i=0;istrName.length;i+) _; _; for(int j=0;jvName.size();i+) System.out.println(vName.get(j); (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是
5、通过一个按钮控制一个窗口的创建,显示与隐藏,并且以按钮文字作为提示,可以随着窗口的状态改变,即如果窗口出现,则按钮文字为“Hide myFrm”,提示用户点击按钮,则隐藏窗口,反之亦然。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_二级 JAVA机试 2答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下列程序中,要求建立一个包含一个方法的类,这个方法实现数组的拷贝,要求首先用直接初始化原始数组,然后将原始数组中的数据拷贝到目的数组,
6、并分别输出原始数组和目的数组。要求数组类型为String类型,大小为 4,采用动态分配的方式对数组进行初始化。请将程序补充完整。 程序运行结果如下: 原始的: 小龙 小张 小李 小陈 复制后的: 小龙 小张 小李 小陈 public class ex5_1 public static void main(Stringargs) ex5_1 obj5_1:new ex5_1(); obj5_1._; public void method5_1() int i=0; String strMember = new String4; String strTemp = new String4; strM
7、ember0 = “小龙“ ; strMember1 = “小张“ ; strMember2 = “小李“ ; strMember3 = “小陈“ ; for(i=0; i4; i+) _; System.out.println(“原始的;“); for(i=0; i4; i+) System.out.println(_); System.out.println(“复制后的:“); for(i=0; i4; i+) System.out.println (strTempi); (分数:30.00)_正确答案:()解析:method5_1() strTempi = strMemberi strM
8、emberi 解析 本题主要考查数组和字符串的基本操作,for 循环语句以及对象调用方法的基本思想。解题关键是熟练掌握一维数组和字符串的基本操作,掌握如何确定 for循环的上下界,会用面向对象的基本思想。本题中,第 1个空,用对象 obj5_1调用方法 method5_1():第 2个空,实现数组的拷贝,将原始的数组拷贝到目的数组;第 3个空,输出原始数组中的每一个数据项。二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:建立一个 String类型的数组,实现该数组的自然排序,并输出结果。该数组采用直接初始化,大小不限。(提示;使用 Collations接口。
9、) 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: fang liu ouyang sun wll zhang import java.util.*; public class ex5_2 public static void main(Stringargs) Vector vName=new Vector(); StringstrName=“zhang“,“sun“,“wu“,“liu“,“fang“,“ouyang“; for(int i=0;istrName.length;i+) _; _; for(int j=0;jvName.s
10、ize();i+) System.out.println(vName.get(j); (分数:40.00)_正确答案:()解析:vName.add(strNamei) Collections.sort(vName) 解析 本题主要考查汇集(Collections)接口和数组的操作。解题关键是熟悉数组的直接初始化方法,掌握 Vector类和 Collections类的基本方法。本题中,第一空,将 strName数组中的每一个 String对象添加到 Vector类的 vName对象中,调用方法add实现这一过程;第二空,利用 Collections的 sort方法来对 vName对象中的字符串进
11、行自然排序。三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是通过一个按钮控制一个窗口的创建,显示与隐藏,并且以按钮文字作为提示,可以随着窗口的状态改变,即如果窗口出现,则按钮文字为“Hide myFrm”,提示用户点击按钮,则隐藏窗口,反之亦然。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_正确答案:()解析:frm ! = null frm.hide() frm.show() 解析 本题主要考查 Applet窗口及 Applet程序的执行过程,
12、和图形用户界面程序的设计。解题关键是熟悉 Applet窗口程序设计及其执行过程,这里要求加入一个 Button构件;同时需要熟悉图形用户界面的设计,这里要求通过 Applet中的 Button构件控制一个Frame窗口的显示与隐藏,要熟悉如何建立一个新窗口,如何设置窗口的标题,如何利用 Component类的方法将窗口关闭。本题中,要正确解答,需要明确程序的控制流程:首先判断用户是否按下按钮,其次判断当前窗口对象是否存在,如果窗口不存在则定义一个窗口,反之将窗口隐藏,并同时修改按钮文字作为提示,要明白提示作用是如果存在则提示关掉,如果不存在则提示显示。第一处,判断条件应该是frm!=null,作用是判断当前窗口对象是否存在,存在的情况下才应该隐藏;第二处,这部分语句是用来隐藏窗口的,所以,应该是 frm.hide();同理第三处错误应该是 frm.show()。