Java面向对象程序设计第版课后答案.docx

上传人:b****3 文档编号:4054793 上传时间:2023-05-06 格式:DOCX 页数:49 大小:25.44KB
下载 相关 举报
Java面向对象程序设计第版课后答案.docx_第1页
第1页 / 共49页
Java面向对象程序设计第版课后答案.docx_第2页
第2页 / 共49页
Java面向对象程序设计第版课后答案.docx_第3页
第3页 / 共49页
Java面向对象程序设计第版课后答案.docx_第4页
第4页 / 共49页
Java面向对象程序设计第版课后答案.docx_第5页
第5页 / 共49页
Java面向对象程序设计第版课后答案.docx_第6页
第6页 / 共49页
Java面向对象程序设计第版课后答案.docx_第7页
第7页 / 共49页
Java面向对象程序设计第版课后答案.docx_第8页
第8页 / 共49页
Java面向对象程序设计第版课后答案.docx_第9页
第9页 / 共49页
Java面向对象程序设计第版课后答案.docx_第10页
第10页 / 共49页
Java面向对象程序设计第版课后答案.docx_第11页
第11页 / 共49页
Java面向对象程序设计第版课后答案.docx_第12页
第12页 / 共49页
Java面向对象程序设计第版课后答案.docx_第13页
第13页 / 共49页
Java面向对象程序设计第版课后答案.docx_第14页
第14页 / 共49页
Java面向对象程序设计第版课后答案.docx_第15页
第15页 / 共49页
Java面向对象程序设计第版课后答案.docx_第16页
第16页 / 共49页
Java面向对象程序设计第版课后答案.docx_第17页
第17页 / 共49页
Java面向对象程序设计第版课后答案.docx_第18页
第18页 / 共49页
Java面向对象程序设计第版课后答案.docx_第19页
第19页 / 共49页
Java面向对象程序设计第版课后答案.docx_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java面向对象程序设计第版课后答案.docx

《Java面向对象程序设计第版课后答案.docx》由会员分享,可在线阅读,更多相关《Java面向对象程序设计第版课后答案.docx(49页珍藏版)》请在冰点文库上搜索。

Java面向对象程序设计第版课后答案.docx

Java面向对象程序设计第版课后答案

TheponywasrevisedinJanuary2021

 

Java面向对象程序设计第版课后答案

Java面向对象程序设计

(编着耿祥义张跃平)

习题1

1.JamesGosling

2.

(1)使用一个文本编辑器编写源文件。

(2)使用Java编译器()编译Java源程序,得到字节码文件。

(3)使用Java解释器()运行Java程序

3.Java的源文件是由若干个书写形式互相独立的类组成的。

应用程序中可以没有public类,若有的话至多可以有一个public类。

4.系统环境pathD\jdk\bin;

系统环境classpathD\jdk\jre\lib\;.;

5.B

6.Java源文件的扩展名是.java。

Java字节码的扩展名是.class。

7.D

8.

(1)

(2)生成两个字节码文件,这些字节码文件的名字和

(3)javaXiti8

(4)执行javaSpeak的错误提示

Exceptioninthread"main"main

执行javaxiti8得到的错误提示

Exceptioninthread"main"xiti8(wrongname:

Xiti8)

执行java得到的错误提示

Exceptioninthread"main"Xiti8/class

执行javaXiti8得到的输出结果

I'mgladtomeetyou

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

习题2

1.D

2.【代码1】【代码2】错误ength

6.数组名字.length

7.【代码1】A,65

【代码2】-127

【代码3】,

8.

【代码1】false

【代码2】true

【代码3】false

【代码4】3

【代码5】

【代码6】

习题3

输出110

if-else语句书写的不够规范,复合语句缺少大括号“{}”,代码不够清晰。

2.你好好酷!

!

3.

publicclassXiti3_3

{

publicstaticvoidmain(Stringargs[]){

intstartPosition=0,endPosition=0;

charcStart='а',cEnd='я';

startPosition=(int)cStart;**20

##100

习题5

1.如果子类和父类在同一个包中,那么子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法。

继承的成员或方法的访问权限保持不变。

如果子类和父类不在同一个包中,那么子类继承了父类的protected、public成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法,继承的成员或方法的访问权限保持不变。

如果子类和父类不在同一个包里,子类不能继承父类的友好变量和友好方法。

只要子类中声明的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量。

子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数的类型和父类的方法完全相同,子类如此定义的方法称作子类重写的方法。

子类通过方法的重写可以隐藏继承的方法。

2.不可以。

3.abstract类。

4.假设B类是A类子类或间接子类,当我们用子类B创建一个对象,并把这个对象的引用放到A类的对象中时,称这个A类对象是子类对象的上转型对象。

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

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

6.A,C,D

7.

8.

12

9.

classA

{publicfinalvoidf()

{charcStart='a',cEnd='z';

for(charc=cStart;c<=cEnd;c++)

{""+c);

}

}

}

classBextendsA

{publicvoidg()

{charcStart='α',cEnd='ω';

for(charc=cStart;c<=cEnd;c++)

{""+c);

}

}

}

publicclassXiti9

{publicstaticvoidmain(Stringargs[])

{Bb=newB();

();

();

}

}

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=(a,b);

return(a*b)/division;

}

}

publicclassXiti10

{publicstaticvoidmain(Stringargs[])

{Aa=newA();

Bb=newB();

"最大公约数:

"+(36,24));

"最小公倍数:

"+(36,24));

}

}

习题6

1.仍然有效。

2.可以。

3.不可以。

4.大家好,祝工作顺利!

5.96

乘数超过99

习题7

1.

(1)Strategy是接口。

(2)Army不是抽象类。

(3)Army和Strategy是关联关系。

(4)StrategyA,StrategyB、StrategyC与Strategy是实现关系。

2.

3.

4.例子13的设计符合开-闭原则。

5.例子17的设计符合开-闭原则。

习题8

采用新增的策略为选手计算得分。

增加新的具体策略StrategyFour。

StrategyFour类将doublecomputeScore(double[]a)方法实现为去掉数组a的元素中的一个最大值和一个最小值,然后计算剩余元素的几何平均值。

importclassStrategyFourimplementsComputableStrategy{

publicdoublecomputeScore(double[]a){

if<=2)

return0;

doublescore=0,multi=1;

(a);

intn=;

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

multi=multi*a[i];

}

score=(multi,n);

returnscore;

}

}

2.

(1)策略(Strategy)

publicinterfacePrintCharacter{

publicabstractvoidprintTable(char[]a,char[]b);

}

(2)具体策略

publicclassPrintStrategyOneimplementsPrintCharacter{

publicvoidprintTable(char[]a,char[]b){

for(inti=0;i<;i++){

",");

}

for(inti=0;i<;i++){

",");

}

"");

}

}

publicclassPrintStrategyTwoimplementsPrintCharacter{

publicvoidprintTable(char[]a,char[]b){

for(inti=0;i<;i++){

","+a[i]+",");

}

}

}

(3)上下文

publicclassPrintGame{

PrintCharacterstrategy;

publicvoidsetStrategy(PrintCharacterstrategy){

=strategy;

}

publicvoidgetPersonScore(char[]a,char[]b){

if(strategy==null)

"sorry!

");

else

(a,b);

}

}

应用以上策略:

publicclassApplication{

publicstaticvoidmain(Stringargs[]){

char[]a=newchar[26];

char[]b=newchar[26];

for(inti=0;i<=25;i++){

a[i]=(char)('a'+i);

}

for(inti=0;i<=25;i++){

b[i]=(char)('A'+i);

}

PrintGamegame=newPrintGame();;

classXiti8

{publicstaticvoidmain(Stringargs[]){

intyear,month;

"请输入年份和月份,每输入一个数回车确认");

Scannerreader=newScanner;

year=();

month=();

String[]day=newString[42];

"日一二三四五六");

Calendarrili=();

(year,month-1,1);.11表示十二月

int星期几=-1;

intdayAmount=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))

dayAmount=29;

else

dayAmount=28;

for(inti=0;i<星期几;i++)

day[i]="";

for(inti=星期几,n=1;i<星期几+dayAmount;i++){

if(n<=9)

day[i]=(n)+"";

else

day[i]=(n);

n++;

}

for(inti=星期几+dayAmount;i<42;i++)

day[i]="";

for(inti=0;i<星期几;i++)

{day[i]="**";

}

for(inti=0;i<;i++)

{if(i%7==0)

{"");

}

""+day[i]);

}

}

}

9.

import.*;

classXiti9

{publicstaticvoidmain(Stringargs[]){

intyear1,month1,day1,year2,month2,day2;

Scannerreader=newScanner;

"请输入第一个日期的年份月份日期,每输入一个数回车确认");

year1=();

month1=();

day1=();

"请输入第二个日期的年份月份日期,每输入一个数回车确认");

year2=();

month2=();

day2=();

Calendarcalendar=();

(year1,month1,day1);

longtimeYear1=();

(year2,month2,day2);

longtimeYear2=();

long相隔天数=((timeYear1-timeYear2)/(1000*60*60*24));

""+year1+"年"+month1+"月"+day1+"日和"+

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

}

}

10.

publicclassXiti10

{publicstaticvoidmain(Stringargs[])

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

a=12;

b=24;

c=(a,b);

c=(a,b);

c=(2,3);

c=;

c=;

c=;

c=

(1);

c=(8);

}

}

习题10

1.BorderLayout布局。

2.不可以。

3.A,C。

4.

import.*;

import

import.*;

publicclassXiti4

{publicstaticvoidmain(Stringargs[])

{ComputerFramefr=newComputerFrame();

("计算的窗口");

}

}

classComputerFrameextendsJFrameimplementsTextListener

{TextAreatext1,text2;

intcount=1;

doublesum=0,aver=0;

publicComputerFrame()

{setLayout(newFlowLayout());

text1=newTextArea(6,20);

text2=newTextArea(6,20);

add(text1);

add(text2);

(false);

(this);

setSize(300,320);

setVisible(true);

addWindowListener(newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

{(0);

}

});

validate();

}

publicvoidtextValueChanged(TextEvente)

{Strings=();

sum=0;

aver=0;

StringTokenizerfenxi=newStringTokenizer(s,",'\n'");

intn=();

count=n;

doublea[]=newdouble[n];

for(inti=0;i<=n-1;i++)

{Stringtemp=();

try{a[i]=(temp);

sum=sum+a[i];

}

catch(Exceptionee)

{count--;

}

}

aver=sum/count;

(null);

("\n和:

"+sum);

("\n平均值:

"+aver);

}

}

5.

import.*;

import.*;

import

publicclassXiti5

{publicstaticvoidmain(Stringargs[])

{ComputerFramefr=newComputerFrame();

("计算");

}

}

classComputerFrameextendsFrameimplementsActionListener

{TextFieldtext1,text2,text3;

Buttonbutton1,button2,button3,button4;

Labellabel;

publicComputerFrame()

{setLayout(newFlowLayout());

text1=newTextField(10);

text2=newTextField(10);

text3=newTextField(10);

label=newLabel("",;

;

add(text1);

add(label);

add(text2);

add(text3);

button1=newButton("加");

button2=newButton("减");

button3=newButton("乘");

button4=newButton("除");

add(button1);

add(button2);

add(button3);

add(button4);

(this);

(this);

(this);

(this);

setSize(300,320);

setVisible(true);

addWindowListener(newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

{(0);

}

});

validate();

}

publicvoidactionPerformed(ActionEvente)

{doublen;

if()==button1)

{doublen1,n2;

try{n1=());

n2=());

n=n1+n2;

(n));

("+");

}

catch(NumberFormatExceptionee)

{("请输入数字字符");

}

}

elseif()==button2)

{doublen1,n2;

try{n1=());

n2=());

n=n1-n2;

(n));

("-");

}

catch(NumberFormatExceptionee)

{("请输入数字字符");

}

}

elseif()==button3)

{doublen1,n2;

try{n1=());

n2=());

n=n1*n2;

(n));

("*");

}

catch(NumberFormatExceptionee)

{("请输入数字字符");

}

}

elseif()==button4)

{doublen1,n2;

try{n1=());

n2=());

n=n1/n2;

(n));

("/");

}

catch(NumberFormatExceptionee)

{("请输入数字字符");

}

}

validate();

}

}

6.

import.*;

import.*;

publicclassXiti6

{publicstaticvoidmain(Stringargs[])

{newWindowPanel();

}

}

classMypanelextendsJPanelimplementsActionListener

{Buttonbutton;

TextFieldtext;

Mypanel()

{button=newButton("");

text=newTextField(12);

add(button);

add(text);

(this);

}

publicvoidactionPerformed(ActionEvente)

{Stringname=();

if()>0)

(name);

validate();

}

}

classWindowPanelextendsFrame

{Mypanelpanel1,panel2;

WindowPanel()

{panel1=newMypanel();

panel2=newMypanel();

;

;

add(panel1,;

add(panel2,;

setSize(300,320);

setVisible(true);

addWindowListener(newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

{(0);

}

});

validate();

}

}

7.参见,参照本章例子。

8.

import.*;

import.*;

publicclassXiti8

{publicstaticvoidmain(Stringargs[])

{MoveFramef=newMoveFrame();

(12,12,300,300);

(true);

("移动");

();

f.addWindowListener(newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

{(0);

}

}

);

}

}

classMoveFrameextendsJFrameimplementsActionListener

{JButtoncontrolButton,movedButton;

publicMoveFrame()

{controlButton=newJButton("单击我运动另一个按钮");

(this);

movedButton=newJButton();

(newColor(12,200,34));

setLayout(null);

add(controlButton);

add(movedButton);

(10,30,130,30);

(100,100,10,10);

}

publicvoidactionPerformed(ActionEvente)

{intx=().x;

inty=().y;

x=x+5;

y=y+1;

(x,y);

if(x>200)

{x=100;

y=100;

}

}

}

9.

import.*;

importclassXiti9

{publicstaticvoidmain(Stringargs[])

{Winwin=newWin();

}

}

classWinextendsFrameimp

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

当前位置:首页 > 人文社科 > 法律资料

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

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