1、第 3次作业一、程序阅读题(本大题共 40分,共 10 小题,每小题 4 分)1. import java.io.* ; public class Reverse public static void main(String args ) int i , n =5 ; int a = new int5;for ( i = 0 ; i = 0 ; i ) System.out.print(ai+“ “); System.out.println( ); 如果从键盘输入 1 2 3 4 5 则运行结果为:2. class Mystery private long val; public Myster
2、y(long v) val = v; public static void main(String args) Mystery x = new Mystery(10L); Mystery y = new Mystery(10L); Mystery z = y; long a = 10L; int b = 10; System.out.println(“the value1=“+(y=z);System.out.println(“the value2=“+(y=x); 3. class Testpublic static void add3(Integer i)int val=i.intValu
3、e();val+=3; i=new Integer(val); public static void main(String args) Integer i=new Integer(0);add3(i); System.out.println(i.intValue(); 4. public class demo public static void main(String args) int bookno=0; while (bookno=100)bookno+=10; if (bookno=40) break; System.out.println(“the bookno is”+bookn
4、o); System.out.println(“This is the end”); 5. public class testpublic static void main(String args)int i=9;switch (i) default: System.out.println(“default“); case 0: System.out.println(“zero“); break;case 1: System.out.println(“one“); case 2: System.out.println(“two“); 6. public class Test public st
5、atic void main(String args) String foo=args0;String bar=args1; String baz=args2; System.out.println(baz); 如果执行语句 java Test Red Green Blue 后结果为7. public class test String s1 = “Initialized at definition“;String s2; public test(String s2i) s2 = s2i; public static void main(String args) test si =new te
6、st(“Initialized at construction“);System.out.println(“si.s1 = “ + si.s1); System.out.println(“si.s2 = “ + si.s2); 8. public class Leafprivate int i=0;Leaf increment( )i+;return this;void print( )System.out.println(“i=”+i);public static void main(String args)Leaf x=new Leaf( );x.increment( ).incremen
7、t( ).increment( ).print( ); 9. 10. 写出程序运行的结果.class Parentvoid printMe( )System.out.println(“Im parent”); class Child extends Parentvoid printMe( )System.out.println(“Im child”); void printAll( ) super.printMe( ); this.printMe( );printMe( );public class Test_thispublic static void main(String args)Ch
8、ild myc=new Child( );myprintAll( ); 二、简答题(本大题共 20分,共 4 小题,每小题 5 分)1. 方法的覆盖与方法的重载有何不同?2. String类与 StringBuffer类的主要区别是什么?3. 简述面向对象程序的主要特征4. 什么是对象的串行化?三、程序设计题(本大题共 40分,共 5 小题,每小题 8 分)1. 给定一个字符串数组 String f = “ab“, “bc“, “cd“, “de“, “ef“; 编程实现从该数组中查找用户指定字符串位置的功能,用户指定的字符串由命令行参数输入.2. 编写程序使用类 StringBuffer的
9、replace方法将字符串”Mary was a ”改为”Mary had a book.”3. 编写一种从小到大排序程序.例如:a 数组中有 10个数.分别是3,2,5,21,9,10,7,16,8,20,经过排序算法后,a 数组变为2,3,5,7,8,9,10,16,20,21,.4. 通过键盘传入一个数,判断题该数是不是素数(不能被 1和自身整除的数).5. 编写程序在终端打印 1100之间的素数。答案:一、程序阅读题(40 分,共 10 题,每小题 4 分)1. 参考答案:5 4 3 2 1解题方案:评分标准:完全一样才得分2. 参考答案:the value1=true the val
10、ue2=false解题方案:评分标准:完全一样才得分3. 参考答案:0解题方案:评分标准:完全一样才得分4. 参考答案:the bookno is 10 the bookno is 20 the bookno is 30 this is the end解题方案:评分标准:一行 1.5分,多写了内容不得分5. 参考答案:default zero解题方案:评分标准:完全一样才得分6. 参考答案:Blue解题方案:评分标准:完全一样才得分7. 参考答案:si.s1 = Initialized at definition si.s2 = Initialized at construction解题方案:
11、评分标准:完全一样才得分8. 参考答案:i=3解题方案:评分标准:完全一样才得分,多写不得分9. 参考答案:解题方案:评分标准:完全一样才得分,多写不得分10. 参考答案:Im parent Im child Im child解题方案:评分标准:完全一样才得分,多写不得分二、简答题(20 分,共 4 题,每小题 5 分)1. 参考答案:覆盖是子类和父类中完全相同的方法(包括名称和参数列表),但方法体不同. 重载是同一个类中可以有多个同名的方法,但方法的参数列表不同.解题方案:评分标准:覆盖、重载一个 2分2. 参考答案:类 StringBuffer可以直接改变字符串的值或长度,而 String
12、对象却只能访问,不能直接进行修改,如果要修改,必须先生成对象的拷贝,再对拷贝进行修改.这是它们之间最大的区别.解题方案:评分标准:回答太简单得 2分,全面 4分3. 参考答案:面向对象程序的主要特征是封装性,继承性和多态解题方案:评分标准:要点对就可以4. 参考答案:对象的寿命通常随着生成该对象的程序的终止而终止.有时候,需要将对象的状态保存下来,在需要时,再将对象恢复. 对象通过写出描述自己状态的数值来记录自己,这个过程叫作对象的串行化(Serializa tion).解题方案:评分标准:意思对就给分三、程序设计题(40 分,共 5 题,每小题 8 分)1. 参考答案:public clas
13、s test public static void main(String args) int i, j = 0;String s = args0;String f = “ab“, “bc“, “cd“, “de“, “ef“;for (i = 0; i 4; i+) if (pareTo(fi) = 0) System.out.print(“the position is“ + i); j = 1;if (j = 0) System.out.print(“no such string“); 解题方案:评分标准:结构 3分,功能实现 4分,语法 3分2. 参考答案:import java.ut
14、il.*;public class String_test public static void main(String args) StringBuffer str1=new StringBuffer(“Mary was a”); StringBuffer str2=str1.replace(5,10,”had a book.”);System.out.println(str2); 解题方案:评分标准:结构 3分,功能实现 4分,语法 3分3. 参考答案:解题方案:评分标准:结构 3分,功能实现 4分,语法 3分4. 参考答案:import java.io.*;public class Pr
15、ime public static void main(String args) String s = “;int n = 0; System.out.print(“请输入一个整数:“); try InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(isr); s = br.readLine();n = Integer.parseInt(s); catch(IOException e) if( isPrime(n) ) System.out.println(n + “是素数.“); else System.out.println(n + “不是素数.“); static boolean isPrime(int a)if(a = 1) return false;if(a = 2) return true;for(int i = 2; i = a/2; i+) if( a % i = 0 ) return false; return true;解题方案:评分标准:结构 3分,功能实现 4分,语法 3分5. 参考答案:解题方案:评分标准: