logo资料库

Java面向对象程序设计习题解答.doc

第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
资料共45页,剩余部分请下载后查看
习题1
习题2
习题3
习题4
习题5
习题6
习题7
习题8
习题9
习题10
习题11
习题12
习题13
习题14
习题15
习题16
习题17
Java 面向对象程序设计 清华大学出版社 (编著 耿祥义 张跃平) 习题解答 建议使用文档结构图 (选择 Word 菜单→视图→文档结构图)
习题 1 1.James Gosling 2. (1)使用一个文本编辑器编写源文件。 (2)使用 Java 编译器(javac.exe)编译 Java 源程序,得到字节码文件。 (3)使用 Java 解释器(java.exe)运行 Java 程序 3.Java 的源文件是由若干个书写形式互相独立的类组成的。 应用程序中可以没有 public 类,若有的话至多可以有一个 public 类。 4.系统环境 path D\jdk\bin; 系统环境 classpath D\jdk\jre\lib\rt.jar;.; 5. B 6. Java 源文件的扩展名是.java。Java 字节码的扩展名是.class。 7. D 8.(1)Speak.java (2)生成两个字节码文件,这些字节码文件的名字 Speak.class 和 Xiti8.class (3)java Xiti8 (4)执行 java Speak 的错误提示 Exception in thread "main" java.lang.NoSuchMethodError: main 执行 java xiti8 得到的错误提示 Exception in thread "main" java.lang.NoClassDefFoundError: xiti8 (wrong name: Xiti8) 执行 java Xiti8.class 得到的错误提示 Exception in thread "main" java.lang.NoClassDefFoundError: Xiti8/class 执行 java Xiti8 得到的输出结果 I'm glad to meet you 9.属于操作题,解答略。
习题 2 1. D 2.【代码 1】 【代码 2】 错误 //【代码 3】更正为 float z=6.89F; 3.float 型常量后面必须要有后缀“f”或“F”。 对于 double 常量,后面可以有后缀“d”或“D”,但允许省略该后缀。 4.public class Xiti4{ public static void main (String args[ ]){ char ch1='你',ch2='我',ch3='他'; System.out.println("\""+ch1+"\"的位置:"+(int)ch1); System.out.println("\""+ch2+"\"的位置:"+(int)ch2); System.out.println("\""+ch3+"\"的位置:"+(int)ch3); } } 5.数组名字.length 6.数组名字.length 7. 【代码 1】A,65 【代码 2】-127 【代码 3】 123456.783,123456.78312 8. 【代码 1】false 【代码 2】true 【代码 3】false 【代码 4】3 【代码 5】4.4 【代码 6】8.8
习题 3 1. 输出 110 if-else 语句书写的不够规范,复合语句缺少大括号“{}”,代码不够清晰。 2.你好好酷!! 3. //cStart 做 int 型转换据运算,并将结果赋值给 startPosition //cEnd 做 int 型转换运算,并将结果赋值给 endPosition public class Xiti3_3 { public static void main (String args[ ]){ int startPosition=0,endPosition=0; char cStart='а',cEnd='я'; startPosition=(int)cStart; endPosition=(int)cEnd ; System.out.println("俄文字母表:"); for(int i=startPosition;i<=endPosition;i++){ char c='\0'; c=(char)i; System.out.print(" "+c); if((i-startPosition+1)%10==0) System.out.println(""); //i 做 char 型转换运算,并将结果赋值给 c } } } 4. public class Xiti4 { { int i=1; public static void main(String args[]) double sum=0,a=1; while(i<=20) { sum=sum+a; i++; a=a*i; } System.out.println("sum="+sum); } } 5. class Xiti5 { public static void main(String args[]) { int i,j; for(j=2;j<=100;j++) { for(i=2;i<=j/2;i++) { if(j%i==0) break; }
if(i>j/2) { System.out.print(" "+j); } } } } 6. class Xiti6 { public static void main(String args[]) { double sum=0,a=1,i=1; while(i<=20) { sum=sum+a; i++; a=(1.0/i)*a; } System.out.println("使用 while 循环计算的 sum="+sum); for(sum=0,i=1,a=1;i<=20;i++) { a=a*(1.0/i); sum=sum+a; } System.out.println("使用 for 循环计算的 sum="+sum); } } 7. public class Xiti7 { public static void main(String args[]) { int sum=0,i,j; for(i=1;i<=1000;i++) { for(j=1,sum=0;j
m=n; n=temp; } int r=m%n; while(r!=0) { n=m; m=r; r=m%n; } gy=n; gb=a*b/gy; System.out.println("最大公约数 :"+gy); System.out.println("最小公倍数 :"+gb); } } 8.方法之二 import java.util.Scanner; public class Xiti8 { public static void main (String args[ ]){ } } 9. public class Xiti9 { public static void main(String args[]) { int n=1; long sum=0,t=1; t=n*t; while(true) { sum=sum+t; if(sum>9999) break; n++; System.out.println("请输入两个非零正整数,每输入一个数回车确认"); Scanner reader=new Scanner(System.in); int m=0,n=0,t=0,gy=0,gb=0; m = reader.nextInt(); n = reader.nextInt(); if(m>n){ t=m; m=n; n=t; } for(int i=1;i<=m;i++){ if(m%i==0 && n%i==0){ gy=i; } } gb=m*n/gy; System.out.println(m+","+n+"的最大公约数为 "+gy); System.out.println(m+","+n+"的最小公倍数为 "+gb);
t=n*t; } System.out.println("满足条件的最大整数:"+(n-1)); } }// 1 至 7 的阶乘和是 sum=5913.0 // 1 至 8 的阶乘和是 sum=46233.0
习题 4 1.用该类创建对象时。 2.所谓方法重载是在一个类中可以有多个方法具有相同的名字,但这些方法的参数必须 不同,即或者是参数的个数不同,或者是参数的类型不同。构造方法可以重载。 3. 可以。不可以。 4.不可以。 5.成员变量又分为实例变量和类变量,用 static 修饰的变量是类变量。那么类变量和实例 变量有什么区别呢?一个类通过使用 new 运算符可以创建多个不同的对象,不同的对象的 实例变量将被分配不同的内存空间;如果类中的成员变量有类变量,那么所有对象的这个 类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个 类变量。也就是说对象共享类变量。 6.C,D 7.【代码 1】,【代码 4】 8.sum=-100 9.27 10. **20 ##100
分享到:
收藏