1

次のエラーが表示されます。

double が欠けている場所が見つからないので、なぜこれが幸せではないのか混乱しています。誰かが私を正しい方向に向けることができますか?

前もって感謝します!

class Square {

    private double Height;
    private double Width;
    private double SurfaceArea;

    Square(double sqHeight, double sqWidth) {
       this.Height = sqHeight;
       this.Width = sqWidth;
    }

        // Get square/cube height
        double getHeight() {
            return Height;
        }

        // Get square/cube width
        double getWidth(){
            return Width;
        }

        // Computer surface area
        double computeSurfaceArea(){
            SurfaceArea = Width * Height;
            return SurfaceArea;
        }


         }


class Cube extends Square {

    private double Height;
    private double Width;
    private double Depth;
    private double SurfaceArea;

    **// Error occurs here**
    Cube(double cuHeight, double cuWidth, double cuDepth) {
       this.Height = cuHeight;
       this.Width = cuWidth;
       this.Depth = cuDepth;
    }

        double getDepth() {
            return Depth;
        }

    @Override
        double computeSurfaceArea(){
            SurfaceArea = (2 * Height * Width) + 
                          (2 * Width * Depth) + 
                          (2 * Depth * Height);
            return SurfaceArea;
        } }
4

2 に答える 2

5

Square コンストラクターを 3 つの引数で呼び出しています。

Cube コンストラクターを呼び出すと、同じ数の引数で基本コンストラクターが暗黙的に呼び出されます。この場合、3 つの double パラメーターを受け入れる Square コンストラクターを見つけようとします。

あなたの場合、高さと幅の2つの倍精度パラメータで基本クラスを呼び出すことを指定する必要があります。

Cube(double cuHeight, double cuWidth, double cuDepth) {
   super(cuHeight, cuWidth);
   this.Height = cuHeight;
   this.Width = cuWidth;
   this.Depth = cuDepth;
}
于 2013-09-28T21:31:21.780 に答える
0

キューブ コンストラクター内で使用する必要があります。

    super(cuHeight, cuWidth); 

Square コンストラクターを呼び出します。

于 2016-09-25T01:51:23.650 に答える