java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.doc

上传人:h**** 文档编号:882338 上传时间:2018-11-04 格式:DOC 页数:33 大小:311.01KB
下载 相关 举报
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.doc_第1页
第1页 / 共33页
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.doc_第2页
第2页 / 共33页
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.doc_第3页
第3页 / 共33页
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.doc_第4页
第4页 / 共33页
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、习题解答习题 11James Gosling2需 3 个步骤:1) 用文本编辑器编写源文件。 2) 使用 javac 编译源文件,得到字节码文件。3) 使用解释器运行程序。3由类构成。不是必须的。4 path=D:jdkbin;set classpath=D:jdkjrelibrt.jar;.;5. B6. Java 源文件的扩展名是.java,Java 字节码的扩展名是.class。7D。 8 A:Speak.java。B:两个字节码文件,Speak.class 和 Xiti8.class。C:java Xiti8。D:执行 java Speak 的错误提示Exception in thre

2、ad “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 得到的输出结果Im glad to meet you(4)9属于操作题,解答略。习

3、题 21 D2 【代码 1】 【代码 2】 错误 /【代码 3】更正为 float z=6.89F; 3float 型常量后面必须要有后缀“f ”或“F” 。对于 double 常量,后面可以有后缀“d”或“D ”,但允许省略该后缀。4public class Xiti4public static void main (String args )char ch1=你,ch2=我,ch3=他;System.out.println(“+ch1+“的位置:“+(int)ch1);System.out.println(“+ch2+“的位置:“+(int)ch2); System.out.println

4、(“+ch3+“的位置:“+(int)ch3); 5数组名字.length6数组名字.length7 【代码 1】A,65【代码 2】-127【代码 3】 123456.783,123456.783128【代码 1】false【代码 2】true【代码 3】false【代码 4】3【代码 5】4.4【代码 6】8.8习题 31 输出 110if-else 语句书写的不够规范,复合语句缺少大括号“” ,代码不够清晰。2你好好酷!3public class Xiti3_3 public static void main (String args )int startPosition=0,endPo

5、sition=0;char cStart=,cEnd=;startPosition=(int)cStart; /cStart 做 int 型转换据运算,并将结果赋值给 startPositionendPosition=(int)cEnd ; /cEnd 做 int 型转换运算,并将结果赋值给 endPosition System.out.println(“俄文字母表:“);for(int i=startPosition;ij/2) System.out.print(“ “+j);6class Xiti6 public static void main(String args) double s

6、um=0,a=1,i=1;while(in)t=m;m=n;n=t;for(int i=1;i9999) break;n+;t=n*t;System.out.println(“满足条件的最大整数:“+(n-1);/ 1 至 7 的阶乘和是 sum=5913.0 / 1 至 8 的阶乘和是 sum=46233.0习题 41用该类创建对象时。2所谓方法重载是在一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。构造方法可以重载。3 可以。不可以。4不可以。5成员变量又分为实例变量和类变量,用 static 修饰的变量是类变量。那么类变量和实

7、例变量有什么区别呢?一个类通过使用 new 运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间;如果类中的成员变量有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个类变量。也就是说对象共享类变量。6C,D7 【代码 1】 , 【代码 4】8sum=-10092710. *20#100习题 51 如果子类和父类在同一个包中,那么子类自然地继承了其父类中不是 private 的成员变量作为自己的成员变量,并且也自然地继承了父类中不是 private 的方法作为自己的方法。继承的成员或方法的访问权限保持不变。如果子类和父类

8、不在同一个包中,那么子类继承了父类的 protected、public 成员变量做为子类的成员变量,并且继承了父类的protected、public 方法为子类的方法,继承的成员或方法的访问权限保持不变。如果子类和父类不在同一个包里,子类不能继承父类的友好变量和友好方法。只要子类中声明的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量。子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数的类型和父类的方法完全相同,子类如此定义的方法称作子类重写的方法。子类通过方法的重写可以隐藏继承的方法。2不可以。3abstra

9、ct 类。4假设 B 类是 A 类子类或间接子类,当我们用子类 B 创建一个对象,并把这个对象的引用放到 A 类的对象中时,称这个 A 类对象是子类对象的上转型对象。5可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。6A,C,D715.08.0898.0129class A public final void f() char cStart=a,cEnd=z;for(char c=cStart;cAdvertisement+ showAdvertisement():void + getCorpName():StringAdver

10、tisementBoard+ show(Advertisement adver): void第 5 章的例子 17 的 UML 类图PhilipsCorp+ showAdvertisement():void + getCorpName():StringLenovoCorp+ showAdvertisement():void + getCorpName():Stringpublic void printTable(char a,char b) for(int i=0;ia.length;i+) System.out.print(ai+“,“);for(int i=0;ib.length;i+)

11、System.out.print(bi+“,“);System.out.println(“);PrintStrategyTwo.javapublic class PrintStrategyTwo implements PrintCharacter public void printTable(char a,char b) for(int i=0;ia.length;i+) System.out.print(bi+“,“+ai+“,“);(3)上下文 PrintGame.java public class PrintGame PrintCharacter strategy;public void

12、 setStrategy(PrintCharacter strategy) this.strategy=strategy; public void getPersonScore(char a,char b)if(strategy=null)System.out.println(“sorry!“); elsestrategy.printTable(a,b);应用以上策略:public class Application public static void main(String args) char a=new char26;char b=new char26;for(int i=0;i=25

13、;i+)ai=(char)(a+i);for(int i=0;i=25;i+)bi=(char)(A+i);PrintGame game=new PrintGame(); /上下文对象game.setStrategy(new PrintStrategyOne(); /上下文对象使用策略一System.out.println(“方案 1:“);game.getPersonScore(a,b);game.setStrategy(new PrintStrategyTwo(); /上下文对象使用策略二System.out.println(“方案 2:“);game.getPersonScore(a,b

14、); 3参照本章 8.3.3 自主完成。习题 91A,B,D 2 Love:Game313abc 夏日41357959javaHello6public class Xiti6 public static void main (String args ) String s1,s2,s3,t1=“ABCDabcd“;System.out.println(“字符串原来是这个样子: “+t1); s1=t1.toUpperCase();System.out.println(“字符串中的小写字母变成大写是这个样子: “+s1); s2=t1.toLowerCase(); System.out.print

15、ln(“字符串中的大写字母变成小写是这个样子: “+s2); s3=s1.concat(s2); System.out.println(“大写字符串连接小写字符串是这个样子: “+s3); 7class Xiti7 public static void main(String args ) String s =“中华人民共和国“;char a=s.charAt(0);char b=s.charAt(6);System.out.println(“第一个字符: “+a);System.out.println(“最后一个字符: “+b);8import java.util.*;class Xiti8

16、 public static void main(String args)int year,month;System.out.println(“请输入年份和月份,每输入一个数回车确认“);Scanner reader=new Scanner(System.in);year= reader.nextInt();month= reader.nextInt();String day=new String42;System.out.println(“ 日 一 二 三 四 五 六“);Calendar rili=Calendar.getInstance();rili.set(year,month-1,1);/将日历翻到 year 年 month 月 1 日,注意 0 表示一月.11 表示十二月int 星期几=rili.get(Calendar.DAY_OF_WEEK)-1;int dayAmount=0;if(month=1|month=3|month=5|month=7|month=8|month=10|month=12)dayAmount=31;if(month=4|month=6|month=9|month=11)dayAmount=30;if(month=2)if(year%4=0)&(year%100!=0)|(year%400=0)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。