java语言程序设计基础篇第十版第十三章练习答案讲课讲稿.docx
- 文档编号:30037456
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:51
- 大小:23.19KB
java语言程序设计基础篇第十版第十三章练习答案讲课讲稿.docx
《java语言程序设计基础篇第十版第十三章练习答案讲课讲稿.docx》由会员分享,可在线阅读,更多相关《java语言程序设计基础篇第十版第十三章练习答案讲课讲稿.docx(51页珍藏版)》请在冰豆网上搜索。
java语言程序设计基础篇第十版第十三章练习答案讲课讲稿
java语言程序设计基础篇第十版第十三章练习答案
01
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;
}
}
02
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); } } } 03 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); } } } } 04 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"); } } 05 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; } } 06 publicclassExercise13_06{ //Mainmethod publicstaticvoidmain(String[]args){ //Createtwocomarablerectangles ComparableCirclecircle1=newComparableCircle(5); ComparableCirclecircle2=newComparableCircle(15); //Displaythemaxrect ComparableCirclecircle3=(ComparableCircle)Max.max(circle1,circle2); System.out.println("Themaxcircle'sradiusis"+circle3.getRadius()); System.out.println(circle3); } } classComparableCircleextendsCircleimplementsComparable /**ConstructaComparableRectanglewithspecifiedproperties*/ publicComparableCircle(doubleradius){ super(radius); } @Override publicintcompareTo(ComparableCircleo){ if(getRadius()>o.getRadius()) return1; elseif(getRadius() return-1; else return0; } } //Max.java: Findamaximumobject classMax{ /**Returnthemaximumoftwoobjects*/ publicstaticComparableCirclemax (ComparableCircleo1,ComparableCircleo2){ if(pareTo(o2)>0) returno1; else returno2; } } 07 publicclassExercise13_07{ publicstaticvoidmain(String[]args){ GeometricObject[]objects={newSquare (2),newCircle(5),newSquare(5),newRectangle(3,4),newSquare(4.5)}; for(inti=0;i System.out.println("Areais"+objects[i].getArea()); if(objects[i]instanceofColorable) ((Colorable)objects[i]).howToColor(); } } } interfaceColorable{ voidhowToColor(); } classSquareextendsGeometricObjectimplementsColorable{ privatedoubleside; publicSquare(doubleside){ this.side=side; } @Override publicvoidhowToColor(){ System.out.println("Colorallfoursides"); } @Override publicdoublegetArea(){ returnside*side; } @Override publicdoublegetPerimeter(){ return4*side; } } 08 importjava.util.ArrayList; publicclassExercise13_08{ publicstaticvoidmain(String[]args){ MyStack1stack=newMyStack1(); stack.push("S1"); stack.push("S2"); stack.push("S"); MyStack1stack2=(MyStack1)(stack.clone()); stack2.push("S1"); stack2.push("S2"); stack2.push("S"); System.out.println(stack.getSize()); System.out.println(stack2.getSize()); } } classMyStack1implementsCloneable{ privateArrayList
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 语言程序设计 基础 第十 第十三 练习 答案 讲课 讲稿