Java程序设计第2版娄不夜 第四章课后编程题参考答案Word格式文档下载.docx
《Java程序设计第2版娄不夜 第四章课后编程题参考答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Java程序设计第2版娄不夜 第四章课后编程题参考答案Word格式文档下载.docx(23页珍藏版)》请在冰点文库上搜索。
![Java程序设计第2版娄不夜 第四章课后编程题参考答案Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/aff78297-504b-4dfd-806f-9ac2d5d8416e/aff78297-504b-4dfd-806f-9ac2d5d8416e1.gif)
+height+"
)"
);
publicstaticvoidmain(Stringargs[]){
Rectangler=newRectangle(5,10);
Rectangler1=newRectangle();
System.out.println("
验证值="
+r.toStrings());
原始值="
+r1.toStrings());
Height="
+r.getHeight());
Width="
+r.getWidth());
Area="
+r.getArea());
Perimeter="
+r.getPerimeter());
System.out.println(r.equals(r1));
}
2、文件名:
Circle.java
publicclassCircle{
intradius;
publicCircle(){
radius=1;
}
publicCircle(intr){
radius=r;
publicCircle(Circlec){
c.radius=5;
returnMath.PI*radius*radius;
return2*Math.PI*radius;
publicbooleanequals(Circlec){
booleant;
if(radius==c.radius)
t=true;
else
t=false;
returnt;
publicintgetRadius(){
returnradius;
return"
圆("
+radius+"
;
Circlec1=newCircle(10);
Circlec2=newCircle();
System.out.println("
当前值="
+c1.toStrings());
参数值="
+c2.toStrings());
Radius="
+c1.getRadius());
+c1.getArea());
+c1.getPerimeter());
System.out.println(c1.equals(c2));
3、文件名:
SavingsAccount.java
publicclassSavingsAccount{
staticdoubleannualInterestRate;
doublesavingsBalance;
staticvoidmodifyInterestRate(doublerate){
annualInterestRate=rate;
voidcalculateInterest(intn){
savingsBalance=savingsBalance*Math.pow(annualInterestRate+1,n);
SavingsAccountsaver1=newSavingsAccount();
saver1.savingsBalance=2000;
SavingsAccountsaver2=newSavingsAccount();
saver2.savingsBalance=3000;
modifyInterestRate(0.04);
saver1.calculateInterest(8);
saver2.calculateInterest(8);
System.out.println(saver1.savingsBalance);
System.out.println(saver2.savingsBalance);
SavingsAccountsaver3=newSavingsAccount();
saver3.savingsBalance=2000;
SavingsAccountsaver4=newSavingsAccount();
saver4.savingsBalance=3000;
modifyInterestRate(0.05);
saver3.calculateInterest
(2);
saver4.calculateInterest
(2);
System.out.println(saver3.savingsBalance);
System.out.println(saver4.savingsBalance);
4、文件名:
MyTime.java
publicclassMyTime{
inthour,minute,second;
publicMyTime(){
hour=0;
minute=0;
second=0;
publicMyTime(inth,intm,ints){
hour=h;
minute=m;
second=s;
publicMyTime(MyTimetime){
time.hour=13;
time.minute=10;
time.second=54;
publicvoidincrementSecond(){
if(hour!
=23&
minute!
=59&
second==59)
{minute=minute+1;
second=0;
elseif(second==59&
minute==59&
hour!
=23)
{second=0;
minute=0;
hour=hour+1;
hour==23)
hour=0;
else
second=second+1;
publicbooleanequals(MyTimetime){
if(hour==time.hour&
minute==time.minute&
second==time.second)
publicStringtoString(){
return(hour+"
:
"
+(minute<
10?
0"
)+minute+"
+(second<
)+second);
classTestMyTime{
MyTimetime1=newMyTime(13,12,59);
MyTimetime2=newMyTime(time1);
MyTimetime3=newMyTime(8,59,59);
MyTimetime4=newMyTime(23,59,59);
time1.incrementSecond();
time3.incrementSecond();
time4.incrementSecond();
System.out.println(time1.toString());
System.out.println(time1.equals(time2));
System.out.println(time3.toString());
System.out.println(time4.toString());
5、文件名:
Point.java
publicclassPoint{
intx,y;
publicfinalstaticintEAST=1;
publicfinalstaticintSOUTH=2;
publicfinalstaticintWESt=3;
publicfinalstaticintNORTH=4;
publicPoint(intx,inty){
this.x=x;
this.y=y;
publicPoint(){
publicPoint(Pointp){
p.x=5;
p.y=6;
publicvoidmove(intx,inty){
publicvoidmove(intorientttion){
x=x-orientttion;
publicdoubledistance(intx,inty){
returnMath.sqrt((this.x-x)*(this.x-x)+(this.y-y)*(this.y-y));
publicdoubledistance(Pointp){
returnMath.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
publicintgetX(){
returnx;
publicintgetY(){
returny;
return("
("
+x+"
+y+"
Pointp1=newPoint();
Pointp2=newPoint();
p1.move(5,6);
p1.move(EAST);
System.out.println(p1.distance(7,8));
System.out.println(p1.distance(p2));
6、文件名:
Rational.java
publicclassRational{
intnumerator,denominator,sign;
publicRational(){
this(1,6);
publicRational(Rationalr){
this(r.numerator,r.denominator);
publicvoidchange(intdenominator){
if(denominator<
0)
{this.denominator=-denominator;
numerator=-numerator;
publicRational(intn,intd){
numerator=n;
denominator=(d==0?
1:
d);
publicRationaladd(Rationalr){
Rationalr1=newRational();
r1.denominator=r.denominator*denominator;
r1.numerator=r.denominator*numerator;
r1.numerator+=denominator*r.numerator;
returnr1;
publicRationalminus(Rationalr){
Rationalr2=newRational();
r2.denominator=r.denominator*denominator;
r2.numerator=r.denominator*numerator;
r2.numerator-=denominator*r.numerator;
returnr2;
publicRationalmultiply(Rationalr){
Rationalr3=newRational();
r3.numerator=r.numerator*numerator;
r3.denominator=r.denominator*denominator;
returnr3;
publicRationaldivide(Rationalr){
Rationalr4=newRational();
r4.numerator=numerator*r.denominator;
r4.denominator=denominator*r.numerator;
returnr4;
publicvoidprint(){
if(numerator==0)
System.out.println(0);
System.out.println(numerator+"
/"
+denominator);
}
classTestRational{
Rationalr2=newRational(5,2);
Rationalr3=newRational(r2);
Rationalr4=newRational(-2,3);
Rationalr8=newRational(2,-3);
Rationalr5,r6,r7;
r1.print();
r2.print();
r3.print();
r4.print();
r8.print();
r5=r1.add(r2);
r6=r1.minus(r4);
r7=r3.multiply(r4);
r5.print();
r6.print();
r7.print();
7、文件名:
MyDate.java
publicclassMyDate{
intyear,month,day;
publicMyDate(MyDatedate){
this(date.year,date.month,date.day);
publicMyDate(inty,intm,intd){
year=y;
month=m;
day=d;
publicbooleanequals(MyDatedate){
if(date.year==year&
date.month==month&
date.day==day)
publicvoidincrementDay(){
if(month==1||month==3||month==5||month==7||month==8||month==10&
day==31)
{month=month+1;
day=1;
elseif(month==4||month==6||month==9||month==11&
day==30)
elseif(year%4==0&
year%100!
=0&
month==2&
day==29)
elseif(month==2&
day==28)
{month=3;
elseif(month==12&
{year=year+1;
month=1;
day=day+1;
publicintgetYear(){
returnyear;
publicintgetMonth(){
returnmonth;
publicintgetDay(){
returnday;
returnyear+"
-"
+month+"
+day;
MyDatedate1=newMyDate(2011,10,31);
MyDatedate2=newMyDate(date1);
date1.incrementDay();
System.out.println(date1.toString());
System.out.println(date2.toString());
year="
+date1.getYear());
month="
+date1.getMonth());
day="
+date1.getDay());
System.out.println(date1.equals(date2));
8、文件名:
Circle8.java
publicclassCircle8{
intr;
publicCircle8(intr){
this.r=r;
returnMath.PI*r*r;
returnMath.PI*2*r;
classCylinder{
intr,h;
publicCylinder(intr,inth){
this.h=h;
Circle8c=newCircle8(5);
return2*c.getArea()+c.getPerimeter()*h;
publicdoublegetVolume(){
returnMath.PI*r*r*r*h;
publicstaticvoidmain(String[]args){
Circle8c1=newCircle8(6);
Cylinderc2=newCylinder(5,3);
System.out.println(c1.getArea());
System.out.println(c1.getPerimeter());
System.out.println(c2.getArea());
System.out.println(c2.getVolume());
9、文件名:
DateAndTime.java
publicclassDateAndTime{
intyear,month,day,hour,minute,second;
publicDateAndTime(){
publicDateAndTime(MyDatedate,MyTimetime){
this(date.year,date.month,date.day,time.hour,time.minute,time.second);
publicDateAndTime(MyTimetime,MyDatedate){
publicDateAndTime(inty,intmo,intd,inth,intmi,ints){
month=mo;
hour=h;
minute=mi;
second=s;
publicbooleanequals(DateAndTimedt){
if(year==dt.year&
month==dt.month