JAVA实验报告二

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

HUBEIUNIVERSITYOFAUTOMOTIVETECHNOLOGYJAVA语言程序设计实验报告齐心编著翟亚红审核计算机实验教学示范中心2013年1月实验二Java类编程练习实验目的:1.掌握类及类的声明2.掌握对象的定义和使用3.掌握接口的定义与实现实验内容:1.对象的创建和使用编写一个圆环类Ring的Java程序。圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性通过get和set方法进行封装。另外,圆环类中的getArea方法可以返回其面积。把程序中的代码补充完整,并查看结果。publicclassRing{privatedoubleinnerRadius;privatedoubleouterRadius;publicStringcolor;publicRing(doubleiRadius,doubleoRadius,Stringc){//初始化数据成员this.innerRadius=iRadius;this.outerRadius=oRadius;this.color=c;}//用get和set方法封装数据成员publicdoublegetInnerRadius(){returninnerRadius;}publicvoidsetInnerRadius(doubleinnerRadius){this.innerRadius=innerRadius;}publicdoublegetOuterRadius(){returnouterRadius;}publicvoidsetOuterRadius(doubleouterRadius){this.outerRadius=outerRadius;}publicStringgetColor(){returncolor;}publicvoidsetColor(Stringcolor){this.color=color;}publicdoublegetArea(){returnMath.PI*(getOuterRadius()*getOuterRadius()-getInnerRadius()*getInnerRadius());}publicdoublegeticricle(){//内周长return2*Math.PI*getInnerRadius();}publicdoublegetocricle(){//内周长return2*Math.PI*getOuterRadius();}publicstaticvoidmain(String[]args){Ringring=newRing(5,8,red);doublering1,ring2;System.out.println(圆环的内半径:+ring.getInnerRadius());System.out.println(圆环的外半径:+ring.getOuterRadius());System.out.println(圆环的颜色:+ring.color);System.out.println(圆环的面积:+ring.getArea()+\n);ring.setInnerRadius(4);ring.setOuterRadius(6);//设置圆环ring的外半径为6ring.setColor(blue);ring1=ring.geticricle();ring2=ring.getocricle();System.out.println(圆环的内半径:+ring.getInnerRadius());System.out.println(圆环的外半径:+ring.getOuterRadius());System.out.println(圆环的颜色:+ring.color);System.out.printf(圆环的面积:%.2f\n,ring.getArea());System.out.printf(圆环的内周长:%.2f\n,ring1);System.out.printf(圆环的外周长:%.2f\n,ring2);}}运行结果:圆环的内半径:5.0圆环的外半径:8.0圆环的颜色:red圆环的面积:122.52211349000193圆环的内半径:4.0圆环的外半径:6.0圆环的颜色:blue圆环的面积:62.83圆环的内周长:25.13圆环的外周长:37.70思考:1)将程序中的语句Ringring=newRing(5,8,red);改成Ringring=newRing();修改后编译运行,此时有错误发生吗?分析错误的原因。2)接着为程序添加一个如下所示的默认构造函数,观察程序运行是否还有上述错误发生?publicRing(){innerRadius=1.0;outerRadius=2.0;color=white;}答:没有错误发生。3)如果在输出圆环的面积时要求保留两位小数,程序如何修改?答:System.out.printf(圆环的面积:%.2f\n,ring.getArea());4)请为圆环类Ring在添两个方法以便能返回内圆和外圆的周长,然后在主函数main()中分别创建两个对象ring1,ring2以显示周长。答:System.out.printf(圆环的内周长:%.2f\n,ring1);System.out.printf(圆环的外周长:%.2f\n,ring2);2.使用类来封装对象的属性和功能编写一个Java程序,该程序中有3个类:Trangle、Lader和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:Trangle类具有类型为double的三个边(sideA,sideB,sideC),以及周长(length)、面积(area)属性,Trangle类具有返回周长(getLength)、面积(getArea)以及修改三个边(setABC)的功能。另外还有一个boolean型的属性(boo),该属性用来判断三个数是否构成一个三角形。Lader类具有类型为double的上底(above)、下底(bottom)、高(height)、面积(area)属性,具有返回面积(getArea)的功能。Circle类具有类型为double的半径(radius)、周长(length)和面积(area)属性,具有返回周长(getLength)、面积(getArea)的功能。把程序中的代码补充完整,并查看结果。//importjavax.swing.text.TabableView;classTrangle{doublesideA,sideB,sideC,area,length;booleanboo;publicTrangle(doublea,doubleb,doublec){setABC(a,b,c);//带参数的构造方法}doublegetLength(){if(boo){returnsideA+sideB+sideC;}else{System.out.println(不是一个三角形,不能计算周长);return0;}}publicdoublegetArea(){if(boo){doublep=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));returnarea;}else{System.out.println(不是一个三角形,不能计算面积);return0;}}publicvoidsetABC(doublea,doubleb,doublec){//参数a,b,c分别赋值给sideA,sideB,sideC//【补充代码…】sideA=a;sideB=b;sideC=c;if(a+bc&&a+cb&&b+ca)//a,b,c构成三角形的条件表达式{//给boo赋值。【补充代码】boo=true;}else{//给boo赋值。【补充代码】boo=false;}}}classLader{doubleabove,bottom,height,area;Lader(doublea,doubleb,doubleh){//带参数的构造方法,将参数a,b,h分别赋值给above,bottom,height【补充代码…】this.above=a;this.bottom=b;this.height=h;}doublegetArea(){//方法体,,要求计算出area返回//【补充代码…】return0.5*(above+bottom)*height;}}classCircle{doubleradius,area,length;Circle(doubler){//带参数的构造方法【补充代码this.radius=r;}doublegetArea(){//方法体,要求计算出area返回【补充代码…】returnMath.PI*radius*radius;}doublegetLength(){//getArea方法体的代码,要求计算出length返回【补充代码…】return2*Math.PI*radius;}voidsetRadius(doublenewRadius){radius=newRadius;}doublegetRadius(){returnradius;}}publicclassAreaAndLength{publicstaticvoidmain(Stringargs[]){doublelength,area;Circlecircle=null;Trangletrangle=null;Laderlader=null;//创建对象circle(半径为5)【补充代码】circle=newCircle(5);//创建对象trangle(边长分别为3,4,5)【补充代码】trangle=newTrangle(3,4,5);//创建对象lader【补充代码】lader=newLader(3,4,5);//circle调用方法返回周长并赋值给length【补充代码】length=circle.getLength();System.out.println(圆的周长:+length);//circle调用方法返回面积并赋值给area【补充代码】area=circle.getArea();System.out.println(圆的面积:+area);//trangle调用方法返回周长并赋值给length【补充代码】length=trangle.getLength();System.out.println(三角形的周长:+length);//trangle调用方法返回面积并赋值给area【补充代码】area=trangle.getArea();System.out.println(三角形的面积:+area);//lader调用方法返回面积并赋值给area【补充代码】area=lader.getArea();System.out.println(梯形的面积:+area);//trangle调用方法设置三个边,要求将三个边修改为12,34,1。【补充代码】trangle.setABC(12,34,1);//trangle调用方法返回面积并赋值给area【补充代码】area=trangle.getArea();System.out.println(三角形的面积:+area);//trangle调用方法返回周长并赋值给length【补充代码】length=trangle.getLength();System.out.println(三角形的周长:+length);}}运行结果:圆的周长:31.41592653589793圆的面积:78.53981633974483三角形的周长:12.0三角形的面积:6.0梯形的面积:17.5不是一个三角形,不能计算面积三角形的面积:0.0不是一个三角形,不能计算周长三角形的周长:0.03.掌握上转型对象的使用,多态的特性定义

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功