ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:87.39KB ,
资源ID:6739799      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6739799.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA实验报告二.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA实验报告二.docx

1、JAVA实验报告二HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYJAVA语言程序设计实验报告 齐心 编著 翟亚红 审核计算机实验教学示范中心2013年1月实验二 Java类编程练习实验目的:1 掌握类及类的声明2 掌握对象的定义和使用3 掌握接口的定义与实现实验内容:1. 对象的创建和使用编写一个圆环类Ring的Java程序。圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性通过get和set方法进行封装。另外,圆环类中的getArea方法可以返回其面积。把程序中的代码补充完整,并查看结果。pub

2、lic class Ring private double innerRadius; private double outerRadius; public String color; public Ring(double iRadius, double oRadius, String c) / 初始化数据成员 this.innerRadius = iRadius; this.outerRadius = oRadius; this.color = c; / 用get和set方法封装数据成员 public double getInnerRadius() return innerRadius; pu

3、blic void setInnerRadius(double innerRadius) this.innerRadius = innerRadius; public double getOuterRadius() return outerRadius; public void setOuterRadius(double outerRadius) this.outerRadius = outerRadius; public String getColor() return color; public void setColor(String color) this.color = color;

4、 public double getArea() return Math.PI * (getOuterRadius() * getOuterRadius() - getInnerRadius() * getInnerRadius(); public double geticricle() /内周长 return 2*Math.PI*getInnerRadius(); public double getocricle() /内周长 return 2*Math.PI*getOuterRadius(); public static void main(String args) Ring ring =

5、 new Ring(5, 8, red); double ring1,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的外半径为6

6、 ring.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(圆环的面积: %.2fn , ring.getArea(); System.out.printf(圆环的内周长: %.2fn ,

7、ring1); System.out.printf(圆环的外周长: %.2fn , ring2); 运行结果:圆环的内半径: 5.0圆环的外半径: 8.0圆环的颜色: red圆环的面积: 122.193圆环的内半径: 4.0圆环的外半径: 6.0圆环的颜色: blue圆环的面积: 62.83圆环的内周长: 25.13圆环的外周长: 37.70思考:1) 将程序中的语句Ring ring = new Ring(5,8,red); 改成Ring ring = new Ring();修改后编译运行,此时有错误发生吗?分析错误的原因。2) 接着为程序添加一个如下所示的默认构造函数,观察程序运行是否还有

8、上述错误发生?public Ring() innerRadius = 1.0; outerRadius = 2.0; color = white; 答:没有错误发生。3) 如果在输出圆环的面积时要求保留两位小数,程序如何修改?答:System.out.printf(圆环的面积: %.2fn , ring.getArea(); 4) 请为圆环类Ring在添两个方法以便能返回内圆和外圆的周长,然后在主函数main()中分别创建两个对象ring1,ring2以显示周长。答:System.out.printf(圆环的内周长: %.2fn , ring1); System.out.printf(圆环的外

9、周长: %.2fn , ring2);2. 使用类来封装对象的属性和功能编写一个Java程序,该程序中有3个类:Trangle、Lader和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:Trangle类具有类型为double的三个边(sideA,sideB,sideC),以及周长(length)、面积(area)属性,Trangle类具有返回周长(getLength)、面积(getArea)以及修改三个边(setABC)的功能。另外还有一个boolean型的属性(boo),该属性用来判断三个数是否构成一个三角形。Lader类具有类型为double的上底(above)、

10、下底(bottom)、高(height)、面积(area)属性,具有返回面积(getArea)的功能。Circle类具有类型为double的半径(radius)、周长(length)和面积(area)属性,具有返回周长(getLength)、面积(getArea)的功能。把程序中的代码补充完整,并查看结果。/import javax.swing.text.TabableView;class Trangle double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) s

11、etABC(a,b,c);/带参数的构造方法 double getLength() if(boo) return sideA+sideB+sideC; else System.out.println(不是一个三角形,不能计算周长); return 0; public double getArea() if(boo) double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC) ; return area; else System.out.println(不是一个三角形,不能计算面积); retu

12、rn 0; public void setABC(double a,double b,double c) /参数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; class Lader double above,bottom,height,area; Lader(double a,double b,double h) /带参数的构造方

13、法,将参数a,b,h分别赋值给above,bottom,height 【补充代码】 this.above=a; this.bottom=b; this.height=h; double getArea() /方法体,,要求计算出area返回/ 【补充代码】 return 0.5*(above+bottom)*height; class Circle double radius,area, length; Circle(double r) /带参数的构造方法 【补充代码 this.radius=r; double getArea() /方法体,要求计算出area返回【补充代码】 return M

14、ath.PI*radius*radius; double getLength() /getArea方法体的代码,要求计算出length返回【补充代码】 return 2*Math.PI*radius; void setRadius(double newRadius) radius=newRadius; double getRadius() return radius; public class AreaAndLength public static void main(String args) double length,area; Circle circle = null; Trangle

15、trangle = null; Lader lader = null; /创建对象circle(半径为5)【补充代码】 circle=new Circle(5); /创建对象trangle(边长分别为3,4,5) 【补充代码】 trangle=new Trangle(3,4,5); /创建对象lader【补充代码】 lader=new Lader(3,4,5); / circle调用方法返回周长并赋值给length 【补充代码】 length=circle.getLength(); System.out.println(圆的周长:+length); / circle调用方法返回面积并赋值给ar

16、ea 【补充代码】 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.getA

17、rea(); 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); 运行

18、结果:圆的周长:31.793圆的面积:78.483三角形的周长:12.0三角形的面积:6.0梯形的面积:17.5不是一个三角形,不能计算面积三角形的面积:0.0不是一个三角形,不能计算周长三角形的周长:0.03. 掌握上转型对象的使用,多态的特性定义一个抽象(abstract)类,类名为Employee。 Employee的子类有YearWorker、MonthWorker和WeekWorker。YearWorker对象按年领取薪水(每年10万),MonthWorker对象按月领取薪水(每月1万),WeekWorker对象按周领取薪水(每周0.5万,设定一个月4周)。Employee类有一个抽

19、象(abstract)方法:public abstract double earnings();子类必须重写父类的earnings()方法,给出各自领取每年报酬的具体方式。有一个Company类,该类用Employee数组作为成员,Employee数组的单元可以是YearWorker对象、MonthWorker对象、WeekWorker对象的上转型对象。程序能输出Company对象一年需要支付的薪水总额。请按模版要求,将代码补充完整。abstract class Employee public abstract double earnings();class YearWorker extend

20、s Employee /重写earnings()方法【补充代码】 public double earnings() return 100000; class MonthWorker extends Employee /重写earnings()方法【补充代码】 public double earnings() return 10000; class WeekWorker extends Employee /重写earnings()方法【补充代码】 public double earnings() return 5000; class Company Employee employees; dou

21、ble salaries = 0; Company(Employee employees) this.employees = employees; public double salariesPay() salaries = 0; /计算salaries【补充代码】 for (int j = 0; j employees.length; j+) salaries+=employeesj.earnings(); return salaries; public class HardWork public static void main(String args) Employee employee

22、s = new Employee20; for (int i = 0; i employees.length; i+) if(i%3=0) employeesi = new WeekWorker(); else if(i%3=1) employeesi = new MonthWorker(); else if(i%3=2) employeesi = new YearWorker(); Company company = new Company(employees); System.out.println(公司年工资总额: + company.salariesPay(); 运行结果:公司年工资总

23、额:705000.04. 掌握嵌套类和内部类的概念和用法编写一个程序要求定义一个外部类Outer,然后在Outer类中定义一个内部类Inner和局部类Local,内部类Inner和局部类Local的任务都是显示出外部类中的数组元素,然后求出这些数组元素的平均值。请按模版要求,将代码补充完整。class Outer private int data; Outer(int x) data = x; void checkInner() Inner innerObj = new Inner(); / 调用Inner对象的show()方法 【补充代码】 innerObj.show(); System.o

24、ut.println(内部类计算的平均值: + innerObj.average(); void checkLocal() class Local void show() System.out.print(从局部类显示数组元素:); for (int i = 0; i data.length; i+) System.out.print(datai + ); System.out.println(); int average() int sum = 0; for (int i = 1; i data.length; i+) sum += datai; return sum/data.length

25、; / 返回data数组的平均值【补充代码】 Local localObj = new Local(); localObj.show(); System.out.println(局部类计算的平均值: + localObj.average(); class Inner void show() System.out.print(从内部类显示数组元素:); for (int i = 0; i data.length; i+) / 打印data数组的每个元素【补充代码】 System.out.print( +datai); System.out.println(); int average() int

26、 sum = 0; for (int i = 1; i data.length; i+) sum += datai; return sum / data.length; public class InnerClassTest public static void main(String args) int a = 6, 8, 9, 22, 34, 7, 2, 1, 15 ; Outer outerObj = new Outer(a); outerObj.checkInner(); / 调用outerObj对象的checkLocal方法【补充代码】 outerObj.checkLocal(); 运行结果:从内部类显示数组元素: 6 8 9 22 34 7 2 1 15内部类计算的平均值: 10从局部类显示数组元素:6 8 9 22 34 7 2 1 15 局部类计算的平均值: 10实验总结:

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

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