使用圆形对象查找圆柱体的体积

时间:2013-10-08 20:51:55

标签: java geometry volume

我应该使用我在另一个类中制作的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?

3 个答案:

答案 0 :(得分:3)

你想写

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

右?

否则,只要考虑一下:你是否将乘以长度?不,您将区域乘以长度以获得音量...

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

答案 1 :(得分:1)

您需要将圆的面积乘以高度。但是,您无法乘以Circledouble。在getArea()上致电Circle

return base.getArea() * height;

答案 2 :(得分:1)

return base.getArea() * height