【问题标题】:Finding the volume of a cylinder using a circle object使用圆形对象查找圆柱体的体积
【发布时间】:2013-10-08 20:51:54
【问题描述】:

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

【问题讨论】:

    标签: java geometry volume


    【解决方案1】:

    你想写

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

    对吗?

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

    另外,如果圆也有名称属性,应该乘以什么?没有什么神奇的,JVM 会按照你说的去做。

    【讨论】:

      【解决方案2】:

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

      return base.getArea() * height;
      

      【讨论】:

        【解决方案3】:

        return base.getArea() * height

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-30
          相关资源
          最近更新 更多