用java ,设定三维立体图形ThreeDimen:圆球,圆柱,圆锥,长方体,正方体,根据传递的参数计算三维图形的体积
该回答引用chatgpt:
abstract class ThreeDimen {
abstract double volume();
}
class Sphere extends ThreeDimen {
double radius;
Sphere(double r) {
radius = r;
}
double volume() {
return 4.0/3 * Math.PI * Math.pow(radius, 3);
}
}
class Cylinder extends ThreeDimen {
double radius;
double height;
Cylinder(double r, double h) {
radius = r;
height = h;
}
double volume() {
return Math.PI * Math.pow(radius, 2) * height;
}
}
class Cone extends ThreeDimen {
double radius;
double height;
Cone(double r, double h) {
radius = r;
height = h;
}
double volume() {
return 1.0/3 * Math.PI * Math.pow(radius, 2) * height;
}
}
class RectangularPrism extends ThreeDimen {
double length;
double width;
double height;
RectangularPrism(double l, double w, double h) {
length = l;
width = w;
height = h;
}
double volume() {
return length * width * height;
}
}
class Cube extends ThreeDimen {
double side;
Cube(double s) {
side = s;
}
double volume() {
return Math.pow(side, 3);
}
}
public class Main {
public static void main(String[] args) {
Sphere s = new Sphere(2);
System.out.println("Sphere volume: " + s.volume());
Cylinder c = new Cylinder(2, 5);
System.out.println("Cylinder volume: " + c.volume());
Cone cone = new Cone(3, 6);
System.out.println("Cone volume: " + cone.volume());
RectangularPrism rp = new RectangularPrism(2, 3, 4);
System.out.println("Rectangular prism volume: " + rp.volume());
Cube cube = new Cube(2);
System.out.println("Cube volume: " + cube.volume());
}
}
在这个示例中,通过抽象类ThreeDimen定义了一个通用的计算体积的方法volume(),然后每个具体的子类实现了自己的volume()方法,根据自己的特点计算自己的体积。在main()方法中,创建了各个不同的三维图形对象,通过调用它们的volume()方法计算它们的体积。