Java2实用教程第5版习题解答3Word文档下载推荐.docx
《Java2实用教程第5版习题解答3Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java2实用教程第5版习题解答3Word文档下载推荐.docx(62页珍藏版)》请在冰豆网上搜索。
三、阅读或调试程序
1.属于操作题,解答略。
2.属于操作题,解答略。
3.属于操作题,解答略。
4.【代码1】:
4。
【代码2】:
b[0]=1。
5.【代码1】:
40。
7
四、编写程序
1.publicclassE{
publicstaticvoidmain(Stringargs[]){
System.out.println((int)'
你'
);
我'
他'
}
}
2.publicclassE{
publicstaticvoidmain(Stringargs[]){
charcStart='
α'
cEnd='
ω'
;
for(charc=cStart;
c<
=cEnd;
c++)
System.out.print("
"
+c);
习题3(第3章)
1.boolean
2.不可以
3.boolean
4.不是必须的
5.结束while语句的执行
6.可以
1.A。
2.C。
3.C。
1.你,苹,甜
2.Jeep好好
3.x=-5,y=-1
四、编程序题
1.publicclassXiti1{
doublesum=0,a=1;
inti=1;
while(i<
=20){
sum=sum+a;
i++;
a=a*i;
System.out.println("
sum="
+sum);
2.publicclassXiti2{
inti,j;
for(j=2;
j<
=100;
j++){
for(i=2;
i<
=j/2;
i++){
if(j%i==0)
break;
if(i>
j/2){
+j);
}
3.classXiti3{
doublesum=0,a=1,i=1;
do{sum=sum+a;
a=(1.0/i)*a;
=20);
使用do-while循环计算的sum="
for(sum=0,i=1,a=1;
=20;
a=a*(1.0/i);
使用for循环计算的sum="
4.publicclassXiti4{
intsum=0,i,j;
for(i=1;
=1000;
for(j=1,sum=0;
i;
j++){
if(i%j==0)
sum=sum+j;
if(sum==i)
完数:
"
+i);
5.publicclassXiti5{
intm=8,item=m,i=1;
longsum=0;
for(i=1,sum=0,item=m;
=10;
sum=sum+item;
item=item*10+m;
System.out.println(sum);
6.publicclassXiti6{
intn=1;
longsum=0;
while(true){
sum=sum+n;
n++;
if(sum>
=8888)
break;
满足条件的最大整数:
+(n-1));
习题4(第4章)
1.封装、继承和多态。
2.当类名由几个单词复合而成时,每个单词的首字母使用大写。
3.名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其它单词的首字母使用大写。
4.属性
5.行为
6.用类创建对象时。
没有类型
7.用类创建对象时。
8.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。
可以。
9.可以。
不可以。
10.不可以。
11.一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。
所有对象的类变量都分配给相同的一处内存,对象共享类变量。
12.代表调用当前方法的对象。
3.D。
4.D。
5.CD。
6.【代码1】【代码4】。
7.【代码4】。
1.【代码1】:
1,【代码2】:
121,【代码3】:
121。
2.sum=-100。
3.27。
4.【代码1】:
100,【代码2】:
20.0。
5.上机实习题目,解答略。
6.上机实习题目,解答略。
四、编程题
CPU.java
publicclassCPU{
intspeed;
intgetSpeed(){
returnspeed;
publicvoidsetSpeed(intspeed){
this.speed=speed;
HardDisk.java
publicclassHardDisk{
intamount;
intgetAmount(){
returnamount;
publicvoidsetAmount(intamount){
this.amount=amount;
}
PC.java
publicclassPC{
CPUcpu;
HardDiskHD;
voidsetCPU(CPUcpu){
this.cpu=cpu;
}
voidsetHardDisk(HardDiskHD){
this.HD=HD;
voidshow(){
CPU速度:
+cpu.getSpeed());
硬盘容量:
+HD.getAmount());
Test.java
publicclassTest{
CPUcpu=newCPU();
HardDiskHD=newHardDisk();
cpu.setSpeed(2200);
HD.setAmount(200);
PCpc=newPC();
pc.setCPU(cpu);
pc.setHardDisk(HD);
pc.show();
习题5(第5章)
1.不可以。
2.是。
3.不继承。
4.声明与父类同名的成员变量。
5.子类重写的方法类型和父类的方法的类型一致或者是父类的方法的类型的子类型,重写的方法的名字、参数个数、参数的类型和父类的方法完全相同。
重写方法的目的是隐藏继承的方法,子类通过方法的重写可以把父类的状态和行为改变为自身的状态和行为。
6.不可以。
7.abstract类。
8.上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。
上转型对象可以访问子类继承或隐藏的成员变量,可以调用子类继承的方法或子类重写的实例方法。
9.通过重写方法。
10.面向抽象编程目的是为了应对用户需求的变化,核心是让类中每种可能的变化对应地交给抽象类的一个子类类去负责,从而让该类的设计者不去关心具体实现。
3.CD。
5.B。
7.D。
8.B。
9.A。
15.0。
8.0。
2.【代码1】:
11。
3.【代码1】:
98.0。
12。
【代码3】:
【代码4】:
9。
120。
-100。
Animal.java
publicabstractclassAnimal{
publicabstractvoidcry();
publicabstractStringgetAnimalName();
Simulator.java
publicclassSimulator{
publicvoidplaySound(Animalanimal){
System.out.print("
现在播放"
+animal.getAnimalName()+"
类的声音:
animal.cry();
Dog.java
publicclassDogextendsAnimal{
publicvoidcry(){
汪汪...汪汪"
publicStringgetAnimalName(){
return"
狗"
Cat.java
publicclassCatextendsAnimal{
喵喵...喵喵"
猫"
Application.java
publicclassExample5_13{
Simulatorsimulator=newSimulator();
simulator.playSound(newDog());
simulator.playSound(newCat());
习题6(第6章)
1.不能。
2.不能。
3.可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。
那么该接口变量就可以调用被类实现的接口中的方法。
4.不可以。
5.可以。
1.D。
2.AB。
8。
18。
15。
publicinterfaceAnimal{
publicclassDogimplementsAnimal{
publicclassCatimplementsAnimal{
习题7(第7章)
1.有效。
2.可以。
3.不可以。
4.一定是。
2.C。
1.大家好,祝工作顺利!
2.p是接口变量。
3.你好finethanks。
4.属于上机实习程序,解答略。
importjava.util.*;
publicclassE{
publicstaticvoidmain(Stringargs[]){
Scannerreader=newScanner(System.in);
doublesum=0;
intm=0;
while(reader.hasNextDouble()){
doublex=reader.nextDouble();
assertx<
100:
数据不合理"
m=m+1;
sum=sum+x;
System.out.printf("
%d个数的和为%f\n"
m,sum);
%d个数的平均值是%f\n"
m,sum/m);
习题8(第8章)
1.不是。
\\hello"
是。
2.4和3。
3.false和true。
4.负数。
5.是true。
6.3和-1。
7.会发生NumberFormatException异常。
5.C。
1.【代码】:
苹果。
2.【代码】:
Love:
Game。
abc我们。
4.【代码】:
13579。
5.【代码】:
9javaHello。
6.属于上机实习程序,解答略。
7.属于上机实习程序,解答略。
1.publicclassE{
Strings1,s2,t1="
ABCDabcd"
s1=t1.toUpperCase();
s2=t1.toLowerCase();
System.out.println(s1);
System.out.println(s2);
Strings3=s1.concat(s2);
System.out.println(s3);
2.publicclassE{
Strings="
charcStart=s.charAt(0);
charcEnd=s.charAt(s.length()-1);
System.out.println(cStart);
System.out.println(cEnd);
3.importjava.util.*;
intyear1,month1,day1,year2,month2,day2;
try{year1=Integer.parseInt(args[0]);
month1=Integer.parseInt(args[1]);
day1=Integer.parseInt(args[2]);
year2=Integer.parseInt(args[3]);
month2=Integer.parseInt(args[4]);
day2=Integer.parseInt(args[5]);
catch(NumberFormatExceptione)
{year1=2012;
month1=0;
day1=1;
year2=2018;
month2=0;
day2=1;
Calendarcalendar=Calendar.getInstance();
calendar.set(year1,month1-1,day1);
longtimeYear1=calendar.getTimeInMillis();
calendar.set(year2,month2-1,day2);
longtimeYear2=calendar.getTimeInMillis();
long相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));
+year1+"
年"
+month1+"
月"
+day1+"
日和"
+
year2+"
+month2+"
+day2+"
日相隔"
+相隔天数+"
天"
4.importjava.util.*;
doublea=0,b=0,c=0;
a=12;
b=24;
c=Math.asin(0.56);
System.out.println(c);
c=Math.cos(3.14);
c=Math.exp
(1);
c=Math.log(8);
5.publicclassE{
publicstaticvoidmain(Stringargs[]){
Stringstr="
ab123you你是谁?
Stringregex="
\\D+"
str=str.replaceAll(regex,"
System.out.println(str);
6.importjava.util.*;
Stringcost="
数学87分,物理76分,英语96分"
Scannerscanner=newScanner(cost);
scanner.useDelimiter("
[^0123456789.]+"
doublesum=0;
intcount=0;
while(scanner.hasNext()){
try{doublescore=scanner.nextDouble();
count++;
sum=sum+score;
System.out.println(score);
catch(InputMismatchExceptionexp){
Stringt=scanner.next();
总分:
+sum+"
分"
平均分:
+sum/count+"
习题9(第9章)
1.Frame容器的默认布局是BorderLayout布局。
2.不可以。
3.ActionEvent。
4.DocumentEvent。
5.5个。
6.MouseMotionListener。
2.A。
3.A。
三、编程题
1.importjava.awt.*;
importjavax.swing.event.*;
importjavax.swing.*;
importjava.awt