《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx

上传人:b****6 文档编号:6163480 上传时间:2023-01-04 格式:DOCX 页数:46 大小:26.15KB
下载 相关 举报
《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx_第1页
第1页 / 共46页
《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx_第2页
第2页 / 共46页
《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx_第3页
第3页 / 共46页
《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx_第4页
第4页 / 共46页
《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx

《《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx(46页珍藏版)》请在冰豆网上搜索。

《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx

《Java语言程序设计基础篇》第10版梁勇著第十三章练习题答案

《Java语言程序设计(基础篇)》(第10版梁勇著)

第十三章练习题答案

13.1

publicclassExercise13_01{

publicstaticvoidmain(String[]args){

TriangleNewtriangle=newTriangleNew(1,1.5,1);

triangle.setColor("yellow");

triangle.setFilled(true);

System.out.println(triangle);

System.out.println("Theareais"+triangle.getArea());

System.out.println("Theperimeteris"

+triangle.getPerimeter());

System.out.println(triangle);

}

}

classTriangleNewextendsGeometricObject{

privatedoubleside1=1.0,side2=1.0,side3=1.0;

/**Constructor*/

publicTriangleNew(){

}

/**Constructor*/

publicTriangleNew(doubleside1,doubleside2,doubleside3){

this.side1=side1;

this.side2=side2;

this.side3=side3;

}

/**ImplementtheabstractmethodfindAreainGeometricObject*/

publicdoublegetArea(){

doubles=(side1+side2+side3)/2;

returnMath.sqrt(s*(s-side1)*(s-side2)*(s-side3));

}

/**ImplementtheabstractmethodfindCircumferencein

*GeometricObject

**/

publicdoublegetPerimeter(){

returnside1+side2+side3;

}

@Override

publicStringtoString(){

//Implementittoreturnthethreesides

return"TriangleNew:

side1="+side1+"side2="+side2+

"side3="+side3;

}

}

 

13.1附加

importjava.util.Scanner;

publicclassExercise13_01Extra{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.print("Entertime1(hourminutesecond):

");

inthour,minute,second;

hour=input.nextInt();

minute=input.nextInt();

second=input.nextInt();

Timetime1=newTime(hour,minute,second);

System.out.println(time1);

System.out.println("Elapsedsecondsintime1:

"+time1.getSeconds());

System.out.print("\nEntertime2(elapsedtime):

");

longseconds=input.nextLong();

Timetime2=newTime(seconds);

System.out.println(time2);

System.out.println("Elapsedsecondsintime2:

"+time2.getSeconds());

System.out.println("\pareTo(time2)?

"+pareTo(time2));

Timetime3=(Time)time1.clone();

System.out.println("\pareTo(time3)?

"+pareTo(time3));

}

}

classTimeimplementsComparable

privatelongseconds;

publicTime(){

seconds=System.currentTimeMillis()/1000;

}

publicTime(inthour,intminute,intsecond){

seconds=hour*3600+minute*60+second;

}

publicTime(longseconds){

this.seconds=seconds;

}

publiclonggetSeconds(){

returnseconds;

}

publicintgetHour(){

return(int)(seconds/3600%24);

}

publicintgetMinute(){

return(int)(seconds/60%60);

}

publicintgetSecond(){

return(int)(seconds%60);

}

publicStringtoString(){

returngetHour()+(getHour()>1?

"hours":

"hour")+

getMinute()+(getMinute()>1?

"minutes":

"minute")+

getSecond()+(getSecond()>1?

"seconds":

"second");

}

publicintcompareTo(Timet){

return(int)(this.seconds-t.seconds);

}

publicObjectclone(){

try{

returnsuper.clone();

}

catch(CloneNotSupportedExceptionex){

ex.printStackTrace();

}

returnnull;

}

}

13.2

importjava.util.ArrayList;

publicclassExercise13_02{

publicstaticvoidmain(String[]args){

ArrayListlist=newArrayList();

list.add(14);

list.add(24);

list.add(4);

list.add(42);

list.add(5);

shuffle(list);

for(inti=0;i

System.out.print(list.get(i)+"");

}

publicstaticvoidshuffle(ArrayListlist){

for(inti=0;i

intindex=(int)(Math.random()*list.size());

Numbertemp=list.get(i);

list.set(i,list.get(index));

list.set(index,temp);

}

}

}

 

13.3

importjava.util.ArrayList;

publicclassExercise13_03{

publicstaticvoidmain(String[]args){

ArrayListlist=newArrayList();

list.add(14);

list.add(24);

list.add(4);

list.add(42);

list.add(5);

sort(list);

for(inti=0;i

System.out.print(list.get(i)+"");

}

publicstaticvoidsort(ArrayListlist){

for(inti=0;i

//Findtheminimuminthelist[i..list.length-1]

NumbercurrentMin=list.get(i);

intcurrentMinIndex=i;

for(intj=i+1;j

if(currentMin.doubleValue()>list.get(j).doubleValue()){

currentMin=list.get(j);

currentMinIndex=j;

}

}

//Swaplist.get(i)withlist.get(currentMinIndex)ifnecessary;

if(currentMinIndex!

=i){

list.set(currentMinIndex,list.get(i));

list.set(i,currentMin);

}

}

}

}

13.4

importjava.util.*;

publicclassExercise13_04{

staticMyCalendarcalendar=newMyCalendar();

publicstaticvoidmain(String[]args){

intmonth=calendar.get(MyCalendar.MONTH)+1;

intyear=calendar.get(MyCalendar.YEAR);

if(args.length>2)

System.out.println("UsagejavaExercise13_04monthyear");

elseif(args.length==2){

//useuser-definedmonthandyear

year=Integer.parseInt(args[1]);

month=Integer.parseInt(args[0]);

calendar.set(Calendar.YEAR,year);

calendar.set(Calendar.MONTH,month-1);

}

elseif(args.length==1){

//useuser-definedmonthforthecurrentyear

month=Integer.parseInt(args[0]);

calendar.set(Calendar.MONTH,month-1);

}

//setdatetothefirstdayinamonth

calendar.set(Calendar.DATE,1);

//printcalendarforthemonth

printMonth(year,month);

}

staticvoidprintMonth(intyear,intmonth){

//getstartdayoftheweekforthefirstdateinthemonth

intstartDay=getStartDay();

//getnumberofdaysinthemonth

intnumOfDaysInMonth=calendar.daysInMonth();

//printheadings

printMonthTitle(year,month);

//printbody

printMonthBody(startDay,numOfDaysInMonth);

}

staticintgetStartDay(){

returncalendar.get(Calendar.DAY_OF_WEEK);

}

staticvoidprintMonthBody(intstartDay,intnumOfDaysInMonth){

//printpaddingspacebeforethefirstdayofthemonth

inti=0;

for(i=0;i

System.out.print("");

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

if(i<10)

System.out.print(""+i);

else

System.out.print(""+i);

if((i+startDay-1)%7==0)

System.out.println();

}

System.out.println("");

}

staticvoidprintMonthTitle(intyear,intmonth){

System.out.println(""+calendar.getMonthName()+","+year);

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

System.out.println("SunMonTueWedThuFriSat");

}

}

 

13.5

publicclassExercise13_05{

//Mainmethod

publicstaticvoidmain(String[]args){

//Createtwocomparablecircles

Circle1circle1=newCircle1(5);

Circle1circle2=newCircle1(4);

//Displaythemaxcircle

Circle1circle=(Circle1)GeometricObject1.max(circle1,circle2);

System.out.println("Themaxcircle'sradiusis"+circle.getRadius());

System.out.println(circle);

}

}

abstractclassGeometricObject1implementsComparable{

protectedStringcolor;

protecteddoubleweight;

//Defaultconstruct

protectedGeometricObject1(){

color="white";

weight=1.0;

}

//Constructageometricobject

protectedGeometricObject1(Stringcolor,doubleweight){

this.color=color;

this.weight=weight;

}

//Gettermethodforcolor

publicStringgetColor(){

returncolor;

}

//Settermethodforcolor

publicvoidsetColor(Stringcolor){

this.color=color;

}

//Gettermethodforweight

publicdoublegetWeight(){

returnweight;

}

//Settermethodforweight

publicvoidsetWeight(doubleweight){

this.weight=weight;

}

//Abstractmethod

publicabstractdoublegetArea();

//Abstractmethod

publicabstractdoublegetPerimeter();

publicintcompareTo(GeometricObject1o){

if(getArea()

return-1;

elseif(getArea()==o.getArea())

return0;

else

return1;

}

publicstaticGeometricObject1max(GeometricObject1o1,GeometricObject1o2){

if(pareTo(o2)>0)

returno1;

else

returno2;

}

}

//Circle.java:

ThecircleclassthatextendsGeometricObject

classCircle1extendsGeometricObject1{

protecteddoubleradius;

//Defaultconstructor

publicCircle1(){

this(1.0,"white",1.0);

}

//Constructcirclewithspecifiedradius

publicCircle1(doubleradius){

super("white",1.0);

this.radius=radius;

}

//Constructacirclewithspecifiedradius,weight,andcolor

publicCircle1(doubleradius,Stringcolor,doubleweight){

super(color,weight);

this.radius=radius;

}

//Gettermethodforradius

publicdoublegetRadius(){

returnradius;

}

//Settermethodforradius

publicvoidsetRadius(doubleradius){

this.radius=radius;

}

//ImplementthefindAreamethoddefinedinGeometricObject

publicdoublegetArea(){

returnradius*radius*Math.PI;

}

//ImplementthefindPerimetermethoddefinedinGeometricObject

publicdoublegetPerimeter(){

return2*radius*Math.PI;

}

//Overridetheequals()methoddefinedintheObjectclass

publicbooleanequals(Circle1circle){

returnthis.radius==circle.getRadius();

}

@Override

publicStringtoString(){

return"[Circle]radius="+radius;

}

@Override

publicintcompareTo(GeometricObject1o){

if(getRadius()>((Circle1)o).getRadius())

return1;

elseif(getRadius()<((Circle1)o).getRadius())

return-1;

else

return0;

}

}

 

13.6

publicclassExercise13_06{

//Mainmethod

publicstaticvoidmain(String[]args){

//Createtwocomarablerectangles

ComparableCirclecircle1=newComparableCircle(5);

ComparableCirclecircle2=newComparableCircle(15);

//Displaythemaxrect

ComparableCirclecircle3=(ComparableCircle)Max.max(circle1,circle2);

System.out.print

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1