0

どこから始めればいいのかわからないので、誰かが私を正しい方向に導くのを手伝ってくれるかどうかだけで、すべての答えを求めているわけではありません。

私はJavaクラスの紹介をしていて、この最後のHW割り当てを持っています。

ここにいくつかの質問があります:

すべて「右角柱」であるさまざまなコンテナの表面積と体積を計算できるプログラムを作成する必要があります。これは、コンテナの端が同一であり、側面が端に垂直であることを意味します。コンテナはそれぞれ、円形、長方形、三角形、正多角形など、さまざまな形をしています。これらのコンテナはすべて、共通の抽象コンテナクラスから派生しています。

次に、ContainerCollectionというクラスを作成します。このクラスには、可能なすべてのContainerクラスの配列が含まれます。このクラスは、ContainerCollection内のすべてのコンテナーのtotalVolumeとtotalSurfaceAreaを計算するためのメソッドを提供します。

要旨へのリンク: https ://gist.github.com/3b9fb22e72b2a3d86e1b

要点がわからない人のためのテキスト:

abstract class Container {
    double height;

    Container(double height)
    {
        this.height = height;
    }

    abstract double getTopArea();
    abstract double getTopPerimeter();

    double getVolume()
    {
        return height * getTopArea();
    }

    double getSurfaceArea()
    {
        return 2*getTopArea() + height * getTopPerimeter();
    }
}

class CircularContainer extends Container
{
    // add appropriate data definitions
    CircularContainer(double height, double radius)
    {
        // Fill in details
    }

    // implement required abstract methods
}

class RectangularContainer extends Container
{
    // add appropriate data definitions
    RectangularContainer(double height, double width, double length)
    {
        // Fill in details

    }

    // implement required abstract methods

} 
4

1 に答える 1

3

Javaでのコーディングには、 EclipseのようなIDEを使用してください。これにより、作業が大幅に楽になります。

あなたの割り当てのスケルトンコードはすでに存在しているようです。クラスを拡張する各子クラスでこれらの4つのメソッドをオーバーライドする必要がありContainerます

double getTopArea()

double getTopPerimeter()

double getVolume()

double getSurfaceArea()

次に、各形状の特定の式を使用して計算できる適切な値を返します。

class RectangularContainer extends Container {
    double height, width, length;

    RectangularContainer(double height, double width, double length) {
         this.height = height;
         this.width = width;
         this.length = length;
    }

    double getTopArea() {
         return height*width;
    }

    double getTopPerimeter() {
         return 2*(height+width);
    }

    double getVolume() {
         return height*width*height;
    }

    double getSurfaceArea() {
         // ooh I can't remember this one... try to figure out this :)
    }

} 

また、メソッドと変数に適切なアクセス修飾子を追加して、このコードを拡張するようにしてください。

于 2012-12-14T02:03:05.383 に答える