《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx
- 文档编号:6163480
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:46
- 大小:26.15KB
《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx
《《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计基础篇》第10版 梁勇 著第十三章练习题答案.docx(46页珍藏版)》请在冰豆网上搜索。
《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){
ArrayList
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(ArrayList 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){ ArrayList 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(ArrayList 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计基础篇 Java语言程序设计基础篇第10版 梁勇 著第十三章练习题答案 Java 语言程序设计 基础 10 第十三 练习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)