0

最近プログラミングを始めました。これまでのところ、私は基本を学びましたが、今度は OOP の時間です。プリンシパルを理解し、実際に使用する方法にリンクするための基本的なプログラムを構築しているので、いくつか質問があります。

だから私は Java で単純な三角形のプログラムを作成しています。これまでのところ、周囲を計算します (後で他の形状やその他のパラメーターを追加します)。三角形の存在を追加したい壁にぶつかり (辺が負になることはありません)、また Id が好きですユーザー入力を許可します。問題は、コードを配置する場所とクラスを参照する方法がわからないことです。線形(非OOP)の方法は簡単ですが、OOPでどのように行われるのですか?メソッドを介して別のクラスまたはTriangleクラスを作成する必要がありますか?

私のコード:

public class Trissturis {
    private int sideA, sideB, sideC;
    private double perimeter;

    public Trissturis(int a, int b, int c) {
        sideA = a;
        sideB = b;
        sideC = c;
    }

    public double getPerimeter() {
        return sideA + sideB + sideC;
    }
}

public class TestTri {
    public static void main(String[] args) {

        Trissturis t1 = new Trissturis(10, 20, 30);
        System.out.println("perimeter is  " + t1.getPerimeter());

        Trissturis t2 = new Trissturis(-1, 20, 30);

    }
}
4

3 に答える 3

3

三角形を検証するには、すべての辺の長さが 0 より大きく、他の 2 つの辺の合計よりも長い辺がないことを確認する必要があります。これを実現する方法は次のとおりです。

public boolean isValid(){
    return (sideA>0)&&(sideB>0)&&(sideC>0)&&(sideA+sideB>sideC)&&(sideA+sideC>sideB)&&(sideC+sideB>sideA);
}

ユーザーが値を入力できるようにするには、個別のユーザー インターフェイス クラスを用意することをお勧めします。これがデスクトップ アプリケーションの場合は、たとえば Swing クラスの一部を使用できます (ただし、代替手段はあります)。

于 2012-10-13T10:05:13.937 に答える
2
interface TriangleFactory {

  Triangle create();

}

class ConsoleTriangleFactory implements TriangleFactory {
  @Override
  Triangle create() {
    // read perimeter from console here with some nice prompt
    // check that every side is > 0, 
    // if it's not a number or less than 0 - then do some alert
  }
}
于 2012-10-13T10:09:47.437 に答える
1

三角形が正しく構築されていることを確認するコード (負でない値など) は、Triangle クラスに属します。

ユーザー入力を受け取るコードは、小さなプログラムの場合は Test の main() に入れることができますが、大規模なアプリケーションの場合は別の UI 名前空間に入れることができます。

h番目

于 2012-10-13T10:08:44.197 に答える