package test4;
public class TestRing {
public static void main(String[] args) {
//思考题2:因为Ring ring=new Ring()调用的是Ring的无参数方法,而当时Ring.java中没有Ring的无参数构造方法,无方法可调用,则出现编译错误
//步骤3:
//Ring ring=new Ring(5,8,"RED");
Ring ring=new Ring();
//步骤2
System.out.println("内圆半径:"+ring.innerRadius);
System.out.println("外圆半径:"+ring.outerRadius);
System.out.println("填充颜色:"+ring.fillColor);
System.out.println("环的面积:"+ring.getArea());
//步骤5:输出内圆和外院的周长
System.out.println("内圆的周长为:"+ring.getInnerThength());
System.out.println("外圆的周长为:"+ring.getOutThength());
}
}
//当为Ring ring=new Ring(5,8,"RED");
//运行结果为:
//内圆半径:5.0
//外圆半径:8.0
//填充颜色:RED
//环的面积:122.52211349000193
package test4;
public class Ring {
//步骤1
//思考题1:三个数据域变量的初始值分别为0.0,0.0,null,构造方法Ring(double iRadius, double oRadius, String color)前面不能有返回值类型
double innerRadius;//内半径
double outerRadius;//外半径
String fillColor;//填充颜色
//构造方法,用于创建环的对象
Ring(double iRadius,double oRadius,String color){
innerRadius=iRadius;//初始化内半径
outerRadius=oRadius;//初始化外半径
fillColor=color;//初始化填充颜色
}
//步骤4:
//思考题3:没有错误发生了,因为在这里定义了Ring的无参构造方法,在TestRing.java中的Ring.ring=new Ring()可以成功调用此方法
//Ring(double iRadius,double oRadius,String color)是Ring的有参数构造方法,而Ring()是无参数构造方法
Ring(){
innerRadius=1;
outerRadius=2;
fillColor="WHITE";
}
//计算并返回圆面积的方法
double getArea() {
return (outerRadius*outerRadius-innerRadius*innerRadius)*Math.PI;
}
//步骤5:添加两个方法计算环的内圆和外圆的周长
//计算并返回内圆面积的方法
double getInnerThength() {
return 2*innerRadius*Math.PI;
}
//计算并返回外圆面积的方法
double getOutThength() {
return 2*outerRadius*Math.PI;
}
}