设计圆柱体类和圆锥体类,继承圆类Circle并实现Volume接口,计算体积。
public interface Volume { //Volume接口
double volume();
}
public class Circle { //圆类Circle
private double Radius;
public Circle() {
Radius=0;
}
public Circle(double radius) {
super();
Radius = radius;
}
public double getArea(){
return Math.PI*Radius*Radius/2;
}
public double getPerimeter() {
return 2*Math.PI*Radius;
}
public void show() {
System.out.println("圆的半径:"+Radius);
System.out.println("圆的面积:"+getArea());
System.out.println("圆的周长:"+getPerimeter());
}
}
public class Cylinder extends Circle implements Volume{//继承圆类Circle圆柱类
private double hight;
public Cylinder(double r,double h) {
super(r);
this.hight=h;
}
public double volume() { //计算体积
return getArea()*hight;
}
public void show() {
System.out.println("圆柱体体积:"+volume());
}
}
public class Cone extends Circle implements Volume{ //继承圆类Circle圆锥类
private double hight;
public Cone(double r,double h) {
super(r);
this.hight=h;
}
public double volume() {
return getArea()*hight/3;
}
public void show() {
System.out.println("圆锥体体积:"+volume());
}
}
import java.util.Scanner;
public class Test { // 输出体积
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入半径和高:r,h" );
double r = scan.nextInt();
double h = scan.nextInt();
Circle c=new Circle(r);
Cylinder c1=new Cylinder(r,h);
Cone c2=new Cone(r,h);
c.show();
c1.show();
c2.show();
}
}