EDIT2如何使用circle.java來計算圓柱的getVolume。 [2班]
對不起沒關係我只是說
public double cylinderSurfaceArea() {
return 2 * base.circleArea() + base.circleCirumference() * 2 * height;
}
}
由於沒有錯誤代碼。這將是正確的?
編輯:
感謝所有那些誰回答。自那之後,我改變了我之前的Cylinder類閱讀。現在,我希望把它更進了一步,並添加
public double cylinderSurfaceArea() {
return 2 * Math.PI * radius * radius + 2 * Math.PI * radius * h;
}
但是現在說半徑(甚至r)返回一個錯誤「無法找到符號 - 可變半徑)不應該的符號被發現/宣告從Circle類?
我所試圖做的是使用一個單獨的Circle.java
類計算圓柱體的體積。
因此,舉例來說,我至今對我circle.java以下
public class Circle {
public double radius;
public Circle(double r) {
radius = r;
}
public double circleArea() {
return Math.PI * radius * radius;
}
public double circleCirumference() {
return Math.PI * 2 * radius;
}
}
現在,這裏是問題的開始。當使Cylinder
類我開始:
public class Cylinder extends Circle {
如果是這樣,總體來說,我有:
public class Cylinder extends Circle {
public Circle base;
public double height;
public Cylinder(double r, double h) {
height = h;
base = new Circle(r);
}
public double getVolume() {
return base.circleArea * height;
}
}
不過,我把後得到一個錯誤:
public Cylinder(double r, double h) {
指出:
構造函數類
Circle
中的不能應用於給定的類型;required:double
;發現:noarguments
;原因:實際的和正式的參數列表的長度不同」
有人可以把我在正確的方向我在做什麼錯
爲什麼你們都使用合成與繼承?這裏就夠了(如果有疑問,請選擇合成)。 –
@dystroy「我不知道如何初始化父類作品」是我的猜測。 – millimoose