我应该使用我在另一个类中制作的Circle对象来计算圆柱体的体积。当我创建getVolume方法时,它告诉我不能将Circle和double相乘,并想知道如何修复它。我不能在Cylinder类中创建getArea方法,只需使用用户输入的半径创建一个新的Circle即可。下面是代码(第一个是Circle类,第二个是Cylinder类):
public class Circle {
private double radius;
public Circle(double r) {
radius = r;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
public class Cylinder {
private Circle base;
private double height;
public Cylinder(double r, double h) {
base = new Circle(r);
height = h;
}
public double getVolume() {
return base * height;
}
}
所以getVolume方法是我的问题。如何让程序在它仍然是 Circle 对象时将“base”识别为双精度?
你想写
public double getVolume() {
return base.getArea() * height;
}
正确的
否则,只要想一想:你用长度乘一个圆吗?不,你用面积乘以长度来得到体积...
此外,如果圆也有一个name属性,应该乘以什么?没有魔法,JVM会按照你的要求去做。
你需要用圆的面积乘以高度。但是不能将一个< code >圆和一个< code >双相乘。在< code>Circle上调用< code>getArea()。
return base.getArea() * height;
返回base.getArea()*高度