java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.docx
- 文档编号:8020069
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:56
- 大小:136.13KB
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.docx
《java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.docx》由会员分享,可在线阅读,更多相关《java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社.docx(56页珍藏版)》请在冰豆网上搜索。
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社
习题解答
习题1
1.JamesGosling
2.需3个步骤:
1)用文本编辑器编写源文件.
2)使用javac编译源文件,得到字节码文件•
3)使用解释器运行程序。
3•由类构成。
不就是必须得。
4.path=D:
\jdkbin;
setclasspathjdk\jrlib\rt、jar;、;
5、B
6、Java源文件得扩展名就是、java,Java字节码得扩展名就是、class.
7°D。
8.A:
Speak、java.
B:
两个字节码文件,Speak、class与Xiti8、class。
C:
javaXiti8。
D:
执行javaSpeak得错误提示
Exceptioninthread"mainHjava、lang、NoSuchMethodError:
main
执行javaxiti8得到得错误提示
ExceptioninthreadHmain11java、lang、NoClassDefFoundError:
xiti8(wrongname:
Xiti8)
执行javaXiti8、class得到得错误提示
Exceptioninthread"main"java、lang、NoClassDefFoundError:
Xiti8/class
执行javaXiti8得到得输出结果
I'mgladtomeetyou
(4)
9。
属于操作题,解答略。
习题2
1.D2.【代码1】【代码2】错误//【代码3】更正为floatz=6.89F;
3ofloat型常量后面必须要有后缀“f”或“F”。
对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。
4.publicclassXiti4{
publicstaticvoidmain(Stringargs[]){
charchi=/您',ch2='我',ch3='她';
System、out、println(”\”"+ch1+H\H得位置:
"+(int)chi);
Systemout、println(””"”得位置:
"+(int)ch2);
System、out、println(”\"”+ch3+”\"得位置:
"+(int)ch3)}
}
5.数组名字、Iength
6.数组名字、length
7.【代码1】A,65【代码2】-i27
【代码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.
publicclassXiti3—3
{
publicstaticvoidmain(Stringargs[]){
intstartPosition=0,endPosition=0;
charcStart=/a,cEnd=z水;
startPositiendPosition
startPosition=(int)cStart;//cStart做int型转换据运算,并将结果赋值给
on
endPosition=(int)cEnd;//cEnd做int型转换运算,并将结果赋值给
System、out、println(”俄文字母表:
");
for(inti=startPosition;i<=endPosition;i++){
charc=\0'';
c=(char)i;//i做char型转换运算,并将结果赋值给c
System、out、print(”"+c);
if((i—startPosition+1)%10==0)
System>out、println(”);
}
}
}
4。
publicclassXiti4
{publicstaticvoidmain(Stringargs[])
{doublesum=0,a=1;
inti=1;
while(i〈=20)
{sum=sum+a;
1++;a=a*i;
}
System、out、println(”sum="+sum);
}
}
5。
classXit15
{pub1icstaticvoidmain(Stringargs[])
{inti,j;
for(j=2;j〈=100;j++)
{for(i=2;i<=j/2;1++)
{if(j%i==0)break;
}
if(1>j/2)
{System、out、print(”"+j);
}
}
}
}
6.
c1assXiti6
{publicstaticvoidmain(Stringargs[])
{doublesum=0,a=1,i=1;wh1le(i〈=20)
{sum=sum+a;
1++;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/1);
sum=sum+a;
System、
}
out、
print1n(
”使用
for循环计算得sum=H+sum
7.
}
pu
bl1cclass
Xiti7
{
pub1icstati
cv
oidmain
(String
args[])
{intsum=
0,i,j
for(i=1;i〈=1000;1++)
{for(j=1,sum=0;j〈i;j++)
{if(i%j==0)sum=sum+j;
}
if(sum==i)
System、out、println("完数:
"+i)}
}
}
8。
方法之一
importjava、util、Scanner;
publicclassXiti8
{publicstaticvoidmain(Stringargs[]){
System、out、println("请输入两个非零正整数,每输入一个数回车确认");
Scannerreader=newScanner(System、in);
intm=0,n=0,temp=0,gy=0,gb=0,a,b;
a=m=reader、nextInt();
b=n=reader、nextInt();
if(m {temp=m; m=n; n=temp; } intr=m%n; while(r! =0) {n=m; m=r; r=m%n; } gy=n; gb=a*b/gy; System、out、print1n("最大公约数: "+gy); System、out、println(”最小公倍数: "+gb); } } 8.方法之二 importjavautil、Scanner; publicc1assXiti8{ pub1icstaticvoidmain(Stringargs[]){ System、out、println(”请输入两个非零正整数,每输入一个数回车确认"); Scannerreader=newScanner(System、in); intm=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(inti=1;i<=m;i++){ if(m%i==0&&n%i==0){ gy=i; } } gb=m*n/gy; System、out、print1n(m+","+n+"得最大公约数为”+gy);System、out、println(m+","+n+"得最小公倍数为"+gb); } } 9. publicclassXiti9 {publicstaticvoidmain(Stringargs[]) {intn=1; longsum=0,t=1; t=n*t; while(true) {sum=sum+t; if(sum>9999) break; n++; t=n*t; } System、out、printin(”满足条件得最大整数: ”+(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=T00 9.27 10、**20 ##100 习题5 1。 如果子类与父类在同一个包中,那么子类自然地继承了其父类中不就是private得成员变量作为自己得成员变量,并且也自然地继承了父类中不就是private得方法作为自己得方法。 继承得成员或方法得访问权限保持不变。 如果子类与父类不在同一个包中,那么子类继承了父类得protected、pub1ic成员变量做为子类得成员变量,并且继承了父类得protected、public方法为子类得方法,继承得成员或方法得访问权限保持不变。 如果子类与父类不在同一个包里,子类不能继承父类得友好变量与友好方法. 只要子类中声明得成员变量与父类中得成员变量同名时,子类就隐藏了继承得成员变 量。 子类中定义一个方法,这个方法得类型与父类得方法得类型一致或者就是父类得方法得类型得子类型,并且这个方法得名字、参数个数、参数得类型与父类得方法完全相同,子类如此定义得方法称作子类重写得方法。 子类通过方法得重写可以隐藏继承得方法。 2。 不可以。 3.abstract类。 4•假设B类就是A类子类或间接子类,当我们用子类E创建一个对象,并把这个对象得引用放到A类得对象中时,称这个A类对象就是子类对象得上转型对象 5.可以把实现某一接口得类创建得对象得引用赋给该接口声明得接口变量中。 那么该接口变量就可以调用被类实现得接口中得方法. 6.A,C,D 7。 15、0 8、0 &98、0 12 9。 classA {publicfina1voidf() {charcStart=/az,cEnd='z'; for(charc=cStart;c<=cEnd;C++) {System、out、print(""+c); } } } classBextendsA {publicvoidg() {charcStart='a,cEnd=/3'; for(charc=cStart;c〈=cEnd;c++) {System、out、print(""+c); } } } publicclassXiti9 {publicstaticvoidmain(Stringargs[]) {Bb=newB(); b、f(); b、g(); } } 10. classA {publicintf(inta,intb){ if(b {inttemp=0; temp=a; a=b; b=temp; } intr=b%a; while(r! =0) {b=a; a=r; r=b%a; } returna; } } classBextendsA {publicintf(inta,intb) {intdivision=super、f(a,b); return(a*b)/division; publicclassXitilO {publicstaticvoidmain(Stringargs []) {Aa=newA(); Bb=newB(); System、out、println("最大公约数: "+a、f(36 24)) System、out、println("最小公倍数: } } ”+b、f(36, 24)); 习题6 1。 仍然有效。 2。 可以。 3。 不可以。 4。 大家好,祝工作顺利! 5。 96 乘数超过99 习题7 1. (1)Strategy就是接口。 (2)Army不就是抽象类。 (3)Army与Strategy就是关联关系。 (4)StrategyA, 2. 3. 第5章得例子17得UML类图 4。 例子13得设计符合开一闭原则。 5。 例子17得设计符合开-闭原则. 习题8 1.采用新增得策略为选手计算得分。 增加新得具体策略StrategyFour°StrategyFour类将doubleputeScore(double[]a)方法实现为去掉数组a得元素中得一个最大值与一个最小值,然后计算剩余元素得几何平均值。 importjava、util、Arrays; publicclassStrategyFourimplementsputableStrategy{ publicdoubleputeScore(double[]a){ if(a、length<=2) return0; doublescore=0,multi=1; Arrays、sort(a); intn=a、length-2; for(inti=1;i multi=multi*a[i]; } score=Math、pow(multi,1、0/n);returnscore; } } 2。 (1)策略(Strategy)PrintCharacter、java publicinterfacePrintCharacter{ publicabstractvoidprintTable(char[]a,char[]b); } (2)具体策略 PrintStrategyOne、java publicclassPrintStrategyOneimplementsPrintCharacter{ publicvoidprintTable(char[]a,char[]b){
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面向 对象 程序设计 课后 习题 答案 耿祥义张跃平 主编 清华大学出版社