提问者:小点点

用圆形物体求圆柱体的体积


我应该使用我在另一个类中制作的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”识别为双精度?


共3个答案

匿名用户

你想写

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

正确的

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

此外,如果圆也有一个name属性,应该乘以什么?没有魔法,JVM会按照你的要求去做。

匿名用户

你需要用圆的面积乘以高度。但是不能将一个< code >圆和一个< code >双相乘。在< code>Circle上调用< code>getArea()。

return base.getArea() * height;

匿名用户

返回base.getArea()*高度