0

我应该使用我在另一个类中制作的 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 方法是我的问题。我怎样才能让程序将“base”识别为 double 而它仍然是 Circle 对象?

4

3 回答 3

3

你想写

 public double getVolume() {
   return base.getArea() * height;
  }

正确的?

否则,只要想一想:你是否将一个乘以一个长度?不,你将一个面积乘以一个长度来得到体积......

另外,如果圆圈也有名称属性,应该乘以什么?没有什么魔法,JVM 会按照您的要求去做。

于 2013-10-08T20:53:03.923 回答
1

您需要将圆的面积乘以高度。但是你不能将 aCircle和 a相乘double。致电getArea()您的Circle.

return base.getArea() * height;
于 2013-10-08T20:53:07.040 回答
1

return base.getArea() * height

于 2013-10-08T20:53:14.590 回答