JAVA实验报告二
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY
JAVA语言程序设计
实验报告
齐心编著
翟亚红审核
计算机实验教学示范中心
2013年1月
实验二Java类编程练习
实验目的:
1.掌握类及类的声明
2.掌握对象的定义和使用
3.掌握接口的定义与实现
实验内容:
1.对象的创建和使用
编写一个圆环类Ring的Java程序。圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性通过get和set 方法进行封装。另外,圆环类中的getArea方法可以返回其面积。把程序中的代码补充完整,并查看结果。
public 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;
}
public 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;
}
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 = 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
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("圆环的面积: %.2f\n" , ring.getArea());
System.out.printf("圆环的内周长: %.2f\n" , ring1);
System.out.printf("圆环的外周长: %.2f\n" , 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)接着为程序添加一个如下所示的默认构造函数,观察程序运行是否还有
上述错误发生?
public Ring() {
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)的功能。
把程序中的代码补充完整,并查看结果。
//import javax.swing.text.TabableView;
class Trangle
{
double sideA,sideB,sideC,area,length;
boolean boo;
public Trangle(double a,double b,double c)
{
setABC(a,b,c);//带参数的构造方法
}
double getLength() {
if(boo)
{
return sideA+sideB+sideC;
}
else
{
System.out.println("不是一个三角形,不能计算周长");
return 0;
}