[计算机类试卷]国家二级(JAVA)机试模拟试卷64及答案与解析.doc

上传人:wealthynice100 文档编号:503599 上传时间:2018-11-29 格式:DOC 页数:6 大小:59KB
下载 相关 举报
[计算机类试卷]国家二级(JAVA)机试模拟试卷64及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级(JAVA)机试模拟试卷64及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级(JAVA)机试模拟试卷64及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级(JAVA)机试模拟试卷64及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级(JAVA)机试模拟试卷64及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级( JAVA)机试模拟试卷 64及答案与解析 一、基本操作题( 30分) 1 下面的程序是从命令行输入 3个数传递到 public static void main(String args)方法中 (如 java Is Triangle 34 5),并判断这 3个数能否构成三角形的 3条边,并显示相应的结果。请在程序的每条横线处填写一个位运算符,使程序的功能完整。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序文件代码清单如下: public class IsTriangle public static void main(String ar

2、gs ) int a =new _args.length; for(int i=0;i args.length;i+) ai= _; if(_) System.out.println(a0+ “,“+a1+ “, “+a2“能构成三角形的 3条边 “). else System.out.println(a0+ “,“+a1+ “, “+a 2 “不能构成三角形的 3条边 “); 二、简单应用题( 40分) 2 请完成以下程序,首先由一个类 Example2_3实现 Serializable接口,并有 三个成员变量,分别为 int型、 double型和 String型,可以用 toString的

3、方法显示这三个成员变量。在 main方法中创建这个 Example2_3的持久对象,根据用户在命令行输入的三个参数来设定其中成员变量的值。然后,将这个对象写入名为 TheSerial.data的文件,并显示成员变量。最后从文件 TheSerial.data中读出三个成员变量并显示出来。 注意:请勿改动 main()主方法和其他已有语句内容,仅在横线处填入适当语句。 import java.io.*; class TheSerial implements Serializable private int intValue; private double doubleValue; private

4、String string; TheSerial() intValue = 123; doubleValue = 12.34; string = “Serialize Test“; public void setDouble(double d) doubleValue = d; public void setInt(int i) intValue = i; public void setString(String s) string = s; public String toString() return(“int=“+intValue+“double=“+doubleValue+“ stri

5、ng=“+string); public class Example2_3 public static void main(String argv) TheSerial e1 = new TheSerial(); TheSerial e2; try e1.setInt(Integer.parseInt(argv0); e1.setDouble(Double.parseDouble(argv1); e1.setStringargv2); catch(Exception e) e1.setString(e.getMessage); System.out.println(e1); try FileO

6、utputStream oS = new FileOutputStream(“TheSerial.data“); ObjectOutputStream oIS = new ObjectOutputStream(oS); _; catch(IOException ioException) System.out.println(ioException.getMessage(); try FileInputStream iS = new FileInputStream(“TheSerial. data“); ObjectInputStream oIS = new ObjectInputStream(

7、iS); _ System.out.println(e2); catch(IOException ioException) System.out.println(ioException.getMessage(); catch(ClassNotFoundException cnfException) System.out.println(cnfException.getMessage(); 三、综合应用题( 30分) 3 下面是一个 Applet程序,其功能是从 3 100之间 (包括 3和 100)每隔 0.5秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。请改正程序中的错误 (

8、有下划线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下: import java.awt.*; import java.applet.Applet; /* applet code=ex15_3.class width=800 height=400 /applet */ public class ex15_3 extends Applet public Color color15_3 = Color.black; private int n15_3 = 3; public myPrime thPrime15_3; public void i

9、nit() thPrime15_3 = new myPrime(this); thPrime15_3.start(); public void paint(Graphics g) g.setColor(color15_3); g.drawString(n15_3, 50, 50); public int getInt() return n15_3; public void setInt(int i) n15_3=i; class myPrime extends Thread ex15_3 obj15_3; myPrime (ex15_3 o) this.obj15_3 = o; public

10、boolean isPrime(int n) boolean bPrime = true; int i=2; if(n 3|n 100) return false; while(i n-1 i+; return bPrime; public void run() int i; for (i=3;i 100; i+) if (isPrime(i) obj15_3.color15_3 = Color.gray; else obj15_3.color15_3 = Color.green; obj15_3.n15_3; obj15_3.repaint(); try sleep(500); catch

11、(InterruptedException ie) ( ) ex15_3.html HTML HEAD TITLE ex15_3 /TITLE /HEAD BODY applet code=“ex15_3.class“ width=800 height=400 /applet /BODY /HTML 国家二级( JAVA)机试模拟试卷 64答案与解析 一、基本操作题( 30分) 1 【正确答案】 int Integer.parseInt(argsi) a0+a1 a2&a1+a2 a0&a2 +a0 a1 【试题解析】 本题主要考查从系统命名行传递参数、 for循环语句和逻辑运算符的知识点。解

12、答本题的关键是熟练掌握从系统命名行传递参数、 for循环语句和逻辑运算符的知识。对于逻辑运算符 &,如果左边表达式的值为 false,则不会再对运算符右边的表达式求值,整个布尔逻辑表达式的结果已确定为 false。例if(expressionl &expression2&expression), expressionl, expression2和expression中,只要有一个值为 false,则整 个表达式的值为 false。在本题中, int a=new intargs.length语句的功能是创建整型数组 a,ai=Integer.parseInt(argsi)语句的功能是把从系统命令

13、行获得的数据转换成整型数据, if(a0+a1a2&a1+a2 a0&a2 +a0 a1)语句的功能是判断从系统命令行获得的3个数能否构成三角形。 二、简单应用题( 40分) 2 【正确答案】 oOS.writeObject(e1) e2=(TheSerial)oIS.readObject() 【试题解析】 本题主要考查串行化相关的方法和实现。解题中首先要掌握串行化的基本过程和反串行化的过程。串行化过程首先要创建一个输出流FileOutputStream,通过该类的实例对文件进行访问,然后创建一个ObJectOutput Stream对象,通过 writeObject()方法来实现对象的序列化

14、。第一个空就是使用 writeObject()实现序列化。 反序列化过程中用 FileInputStream对象建立读取文件的连接,并使用该对象创建一个 ObiectInputStream的实例,这个 ObjectInput Stream实例的 readObject()方法就可以实现对象的反序列化。第二个空就是使用 readObject()实现反序列化。 三、综合应用题( 30分) 3 【正确答案】 String.valueOf(n15_3) i 101或者 i =100 obj15_3.setInt(i) 【试题解析】 本题主要考查线程的概念和使用, Applet的执行过程和窗口, for循

15、环语句,以及字符串和 int型的数据转换,及面向对象编程的基本思想。解题关键是熟练地 将 Applet的执行和线程的基本思想结合完成一定的综合性的应用;熟练掌握线程的建立、运行以及线程类与封装类之间的信息传递方式,即通过对象调用封装的方法来进行,如语句 obi15_3.repaint()。本题中,第 1处,不可以直接填入 n15_3,会导致参数类型不符合的错误,应该用 String类的 valueOf()方法对int型数据进行转换得到 String类型数据:第 2处,注意题目要求,需要包括 3和100,因此循环变量的上界应该是 i 101或者 i100;第 3处,由于 n15_3是类ex15_3的私有成员变量, 因此不可以直接用对象 obj15_3来调用这个成员变量,需要通过类 ex15_3的方法 setInt()来实现对私有成员的修改。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1