我应该使用我在另一个类中制作的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”识别为double?
答案 0 :(得分:3)
你想写
public double getVolume() {
return base.getArea() * height;
}
右?
否则,只要考虑一下:你是否将圈乘以长度?不,您将区域乘以长度以获得音量...
另外,如果圆圈也有名称属性,那么应该乘以什么?没有魔力,JVM会按照你的要求去做。
答案 1 :(得分:1)
您需要将圆的面积乘以高度。但是,您无法乘以Circle
和double
。在getArea()
上致电Circle
。
return base.getArea() * height;
答案 2 :(得分:1)
return base.getArea() * height