定义一个圆类Circle,该类能根据圆的半径计算圆的面积和周长,同时也提供了修改半径和获取半径值的方法。再定义一个接口G3D,接口中定义一个求三维图形体积的方法getVolume()。然后定义一个圆锥CircularCone类,它是圆类Circle 的子类同时是G3D的实现类,它能根据底圆面积计算圆锥的体积。编写测试类,输出半径为10,高为15的圆锥的体积。
import java.util.Scanner;
public class Circle {
double r;
public Circle(double r) {
this.r = r;
}
public void getArea() {
double l = Math.PI * r * r;
System.out.println("圆的面积为:"+l);
}
public void getPerimeter() {
double s = Math.PI * 2 * r;
System.out.println("圆的周长为:"+s);
}
}
package 实验33;
public interface G3D {
void getVolume();
}
package 实验33;
import java.util.Scanner;
public class CircularCone extends Circle implements G3D {
public CircularCone(double r) {
super(r);
}//圆锥
double h;
@Override
public void getVolume() {
double v=Math.PI * r * rh1/3;
System.out.println("圆锥的体积为:"+v);
}
}
package 实验33;
import java.util.Scanner;
public class Text {
public static void main(String[] args){
System.out.println("请输入半径r的值:");
Scanner sc=new Scanner(System.in);
Circle ci=new Circle(sc.nextDouble());
ci.getArea();
ci.getPerimeter();
System.out.println("请输入圆锥高h的值:");
CircularCone cir=new CircularCone(sc.nextDouble());
cir.getVolume();
}
}
最后结果圆锥体积为0是什么原因呢?
请输入半径r的值:
10
圆的面积为:314.1592653589793
圆的周长为:62.83185307179586
请输入圆锥高h的值:
15
圆锥的体积为:0.0
进程已结束,退出代码为 0
在cir.getVolume();处加一行代码,System.out.println(cir.h);看看高是不是为0。