Java 2实用教程第5版习题解答.docx

上传人:b****6 文档编号:7204797 上传时间:2023-05-11 格式:DOCX 页数:62 大小:34.57KB
下载 相关 举报
Java 2实用教程第5版习题解答.docx_第1页
第1页 / 共62页
Java 2实用教程第5版习题解答.docx_第2页
第2页 / 共62页
Java 2实用教程第5版习题解答.docx_第3页
第3页 / 共62页
Java 2实用教程第5版习题解答.docx_第4页
第4页 / 共62页
Java 2实用教程第5版习题解答.docx_第5页
第5页 / 共62页
Java 2实用教程第5版习题解答.docx_第6页
第6页 / 共62页
Java 2实用教程第5版习题解答.docx_第7页
第7页 / 共62页
Java 2实用教程第5版习题解答.docx_第8页
第8页 / 共62页
Java 2实用教程第5版习题解答.docx_第9页
第9页 / 共62页
Java 2实用教程第5版习题解答.docx_第10页
第10页 / 共62页
Java 2实用教程第5版习题解答.docx_第11页
第11页 / 共62页
Java 2实用教程第5版习题解答.docx_第12页
第12页 / 共62页
Java 2实用教程第5版习题解答.docx_第13页
第13页 / 共62页
Java 2实用教程第5版习题解答.docx_第14页
第14页 / 共62页
Java 2实用教程第5版习题解答.docx_第15页
第15页 / 共62页
Java 2实用教程第5版习题解答.docx_第16页
第16页 / 共62页
Java 2实用教程第5版习题解答.docx_第17页
第17页 / 共62页
Java 2实用教程第5版习题解答.docx_第18页
第18页 / 共62页
Java 2实用教程第5版习题解答.docx_第19页
第19页 / 共62页
Java 2实用教程第5版习题解答.docx_第20页
第20页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java 2实用教程第5版习题解答.docx

《Java 2实用教程第5版习题解答.docx》由会员分享,可在线阅读,更多相关《Java 2实用教程第5版习题解答.docx(62页珍藏版)》请在冰点文库上搜索。

Java 2实用教程第5版习题解答.docx

Java2实用教程第5版习题解答

习题解答

习题1(第1章)

一、问答题

1.JamesGosling

2.需3个步骤:

1)用文本编辑器编写源文件。

2)使用javac编译源文件,得到字节码文件。

3)使用解释器运行程序。

3.源文件由若干个类所构成。

对于应用程序,必须有一个类含有publicstaticvoidmain(Stringargs[])的方法,含有该方法的类称为应用程序的主类。

不一定,但至多有一个public类。

4.setclasspath=D:

\jdk\jre\lib\rt.jar;.;

5.java和class

6.javaBird

7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)

二、选择题

1.B。

2.D。

三、阅读程序

1.(a)Person.java。

(b)两个字节码,分别是Person.class和Xiti.class。

(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError:

Xiti/class”,得到“您好,很高兴认识您nicetomeetyou”

习题2(第2章)

一、问答题

1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。

标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。

false不是标识符。

2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。

true和false不是关键字。

6个关键字:

classimplementsinterfaceenumextendsabstract。

3.boolean,char,byte,short,int,long,float,double。

4.float常量必须用F或f为后缀。

double常量用D或d为后缀,但允许省略后缀。

5.一维数组名.length。

二维数组名.length。

二、选择题

1.C。

2.ADF。

3.B。

4.BE。

5.【代码2】【代码3】【代码4】【代码5】。

6.B。

三、阅读或调试程序

1.属于操作题,解答略。

2.属于操作题,解答略。

3.属于操作题,解答略。

4.【代码1】:

4。

【代码2】:

b[0]=1。

5.【代码1】:

40。

【代码2】:

7

四、编写程序

1.publicclassE{

publicstaticvoidmain(Stringargs[]){

System.out.println((int)'你');

System.out.println((int)'我');

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{

publicstaticvoidmain(Stringargs[]){

doublesum=0,a=1;

inti=1;

while(i<=20){

sum=sum+a;

i++;

a=a*i;

}

System.out.println("sum="+sum);

}

}

2.publicclassXiti2{

publicstaticvoidmain(Stringargs[]){

inti,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);

}

}

}

}

3.classXiti3{

publicstaticvoidmain(Stringargs[]){

doublesum=0,a=1,i=1;

do{sum=sum+a;

i++;

a=(1.0/i)*a;

}

while(i<=20);

System.out.println("使用do-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);

}

}

4.publicclassXiti4{

publicstaticvoidmain(Stringargs[]){

intsum=0,i,j;

for(i=1;i<=1000;i++){

for(j=1,sum=0;j

if(i%j==0)

sum=sum+j;

}

if(sum==i)

System.out.println("完数:

"+i);

}

}

}

5.publicclassXiti5{

publicstaticvoidmain(Stringargs[]){

intm=8,item=m,i=1;

longsum=0;

for(i=1,sum=0,item=m;i<=10;i++){

sum=sum+item;

item=item*10+m;

}

System.out.println(sum);

}

}

6.publicclassXiti6{

publicstaticvoidmain(Stringargs[]){

intn=1;

longsum=0;

while(true){

sum=sum+n;

n++;

if(sum>=8888)

break;

}

System.out.println("满足条件的最大整数:

"+(n-1));

}

}

习题4(第4章)

一、问答题

1.封装、继承和多态。

2.当类名由几个单词复合而成时,每个单词的首字母使用大写。

3.名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其它单词的首字母使用大写。

4.属性

5.行为

6.用类创建对象时。

没有类型

7.用类创建对象时。

8.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。

可以。

9.可以。

不可以。

10.不可以。

11.一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。

所有对象的类变量都分配给相同的一处内存,对象共享类变量。

12.代表调用当前方法的对象。

不可以。

二、选择题

1.B。

2.D。

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(){

System.out.println("CPU速度:

"+cpu.getSpeed());

System.out.println("硬盘容量:

"+HD.getAmount());

}

}

Test.java

publicclassTest{

publicstaticvoidmain(Stringargs[]){

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.面向抽象编程目的是为了应对用户需求的变化,核心是让类中每种可能的变化对应地交给抽象类的一个子类类去负责,从而让该类的设计者不去关心具体实现。

二、选择题

1.C。

2.D。

3.CD。

4.D。

5.B。

6.B。

7.D。

8.B。

9.A。

三、阅读程序

1.【代码1】:

15.0。

【代码2】:

8.0。

2.【代码1】:

11。

【代码2】:

11。

3.【代码1】:

98.0。

【代码2】:

12。

【代码3】:

98.0。

【代码4】:

9。

4.【代码1】:

120。

【代码2】:

120。

【代码3】:

-100。

四、编程题

Animal.java

publicabstractclassAnimal{

publicabstractvoidcry();

publicabstractStringgetAnimalName();

}

Simulator.java

publicclassSimulator{

publicvoidplaySound(Animalanimal){

System.out.print("现在播放"+animal.getAnimalName()+"类的声音:

");

animal.cry();

}

}

Dog.java

publicclassDogextendsAnimal{

publicvoidcry(){

System.out.println("汪汪...汪汪");

}

publicStringgetAnimalName(){

return"狗";

}

}

Cat.java

publicclassCatextendsAnimal{

publicvoidcry(){

System.out.println("喵喵...喵喵");

}

publicStringgetAnimalName(){

return"猫";

}

}

Application.java

publicclassExample5_13{

publicstaticvoidmain(Stringargs[]){

Simulatorsimulator=newSimulator();

simulator.playSound(newDog());

simulator.playSound(newCat());

}

}

习题6(第6章)

一、问答题

1.不能。

2.不能。

3.可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。

那么该接口变量就可以调用被类实现的接口中的方法。

4.不可以。

5.可以。

二、选择题

1.D。

2.AB。

3.B。

三、阅读程序

1.【代码1】:

15.0。

【代码2】:

8。

2.【代码1】:

18。

【代码2】:

15。

四、编程题

Animal.java

publicinterfaceAnimal{

publicabstractvoidcry();

publicabstractStringgetAnimalName();

}

Simulator.java

publicclassSimulator{

publicvoidplaySound(Animalanimal){

System.out.print("现在播放"+animal.getAnimalName()+"类的声音:

");

animal.cry();

}

}

Dog.java

publicclassDogimplementsAnimal{

publicvoidcry(){

System.out.println("汪汪...汪汪");

}

publicStringgetAnimalName(){

return"狗";

}

}

Cat.java

publicclassCatimplementsAnimal{

publicvoidcry(){

System.out.println("喵喵...喵喵");

}

publicStringgetAnimalName(){

return"猫";

}

}

Application.java

publicclassExample5_13{

publicstaticvoidmain(Stringargs[]){

Simulatorsimulator=newSimulator();

simulator.playSound(newDog());

simulator.playSound(newCat());

}

}

习题7(第7章)

一、问答题

1.有效。

2.可以。

3.不可以。

4.一定是。

二、选择题

1.C。

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);

System.out.printf("%d个数的平均值是%f\n",m,sum/m);

}

}

习题8(第8章)

一、问答题

1.不是。

"\\hello"是。

2.4和3。

3.false和true。

4.负数。

5.是true。

6.3和-1。

7.会发生NumberFormatException异常。

二、选择题

1.A。

2.C。

3.B。

4.D。

5.C。

三、阅读程序

1.【代码】:

苹果。

2.【代码】:

Love:

Game。

3.【代码1】:

15。

【代码2】:

abc我们。

4.【代码】:

13579。

5.【代码】:

9javaHello。

6.属于上机实习程序,解答略。

7.属于上机实习程序,解答略。

四、编程题

1.publicclassE{

publicstaticvoidmain(Stringargs[]){

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{

publicstaticvoidmain(Stringargs[]){

Strings="ABCDabcd";

charcStart=s.charAt(0);

charcEnd=s.charAt(s.length()-1);

System.out.println(cStart);

System.out.println(cEnd);

}

}

3.importjava.util.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

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));

System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+

year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");

}

}

4.importjava.util.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

doublea=0,b=0,c=0;

a=12;

b=24;

c=Math.asin(0.56);

System.out.println(c);

c=Math.cos(3.14);

System.out.println(c);

c=Math.exp

(1);

System.out.println(c);

c=Math.log(8);

System.out.println(c);

}

}

5.publicclassE{

publicstaticvoidmain(Stringargs[]){

Stringstr="ab123you你是谁?

";

Stringregex="\\D+";

str=str.replaceAll(regex,"");

System.out.println(str);

}

}

6.importjava.util.*;

publicclassE{

publicstaticvoidmain(Stringargs[]){

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();

}

}

System.out.println("总分:

"+sum+"分");

System.out.println("平均分:

"+sum/count+"分");

}

}

习题9(第9章)

一、问答题

1.Frame容器的默认布局是BorderLayout布局。

2.不可以。

3.ActionEvent。

4.DocumentEvent。

5.5个。

6.MouseMotionListener。

二、选择题

1.C。

2.A。

3.A。

4.D。

5.C。

三、编程题

1.importjava.awt.*;

importjavax.swing.event.*;

importjavax.swing.*;

importjava.awt.ev

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2