0

別のクラスで作成した Circle オブジェクトを使用して、円柱の体積を求めることになっています。getVolume メソッドを作成すると、Circle と double を乗算できないことがわかり、修正方法を知りたがっています。Cylinder クラスで getArea メソッドを作成できません。ユーザーが入力した半径を使用して新しい Circle を作成するだけです。コードは次のとおりです (1 番目は Circle クラス、2 番目は 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 オブジェクトである間に、プログラムに double として認識させるにはどうすればよいですか?

4

3 に答える 3

3

あなたは書きたかった

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

右?

そうでなければ、考えただけで:円に長さを掛けますか? いいえ、体積を得るには面積に長さを掛けます...

また、円にも name 属性がある場合、何を乗算する必要がありますか? 魔法はありません。JVM は、ユーザーが指示したことを実行します。

于 2013-10-08T20:53:03.923 に答える
1

return base.getArea() * height

于 2013-10-08T20:53:14.590 に答える
1

円の面積に高さを掛ける必要があります。Circleただし、 aと a を乗算することはできませんdouble。に電話getArea()してくださいCircle

return base.getArea() * height;
于 2013-10-08T20:53:07.040 に答える