2017-03-14 18 views
0

私は、入力された数字に基づいてどのような種類の三角形があるかを示すプログラムを作成するタスクを持っています。私たちが行った他のすべてのプログラムは、私たちのコンパイラでテキストファイルをポップアップしていますが、これはプログラムを通して自分自身でやりたいと思っています。たとえば、彼が望むメソッドの1つはPublic Boolean isTriangleです。しかし、これをクラスに追加する方法がわかりません。この時点までに完了したことはすべて1つのブロックで処理されています。私はそれが間違っていることを知っているが、私は何を貼り付けます。正直なところ私は非常に迷っており、何か指針を使うことができます。彼はパブリックブール値のものを手に書いたので、それは正しいと思うが、私は識別子の予想エラーを得る。私はこれがたぶん畳み込まれていることを知っていて、私は基礎知識が欠けている。どんな助けでもありがとうございます印刷せずにブール値を返すプログラムを作成するにはどうすればよいですか?

{ 
     public Triangle(double a, double b, double c) 
    { 

     boolean isTriangle, isScalene, isEquilateral, isRight, isIsosceles ; 

     isTriangle = (a+b)>= c && (a+c)>= b && (c+b)>= a ; 
     isScalene = (a != b) || (b != c) || (a != c) ; 
     isEquilateral = (a == b) && (c == b); 
     isRight = (Math.pow(a,2)) + (Math.pow(b,2)) == Math.pow(c,2); 
     isIsosceles = (a == b) || (a == c) || (b == c);// 


    Public boolean isTriangle() 
    { if (isTriangle == true) 

    } 
} 
+0

isTriangle()とmain()の2つのメソッドを作成します。 'isTriangle()'の中にロジックを実装し、 'main'からそれを呼び出します。 –

+0

どうすればいいですか?あなたは私のために自分の仕事をしているだけではないので、別の例を使うことができます。彼はパブリックトライアンリッジ –

+0

を持っていた配布資料とまったく同じようにしたいと言った。1.あなたのコンストラクタの外にあなたのメソッドを移動する。 2. [main()](https://docs.oracle.com/javase/tutorial/getStarted/application/)でTriangleをインスタンス化し、この新しいインスタンスを使用してIsTriangle()メソッドを呼び出します。 –

答えて

1

まあ、あなたはおそらくそのクラスで少し混乱しているでしょう。わからないが、私は

public class Triangle { 

    // private variables of the Triangle class 
    private boolean isTriangle, isScalene, isEquilateral, isRight, isIsosceles; 

    // constructor of the Triangle class 
    public Triangle(double a, double b, double c) { 
    isTriangle = (a + b) >= c && (a + c) >= b && (c + b) >= a; 
    isScalene = (a != b) || (b != c) || (a != c); 
    isEquilateral = (a == b) && (c == b); 
    isRight = (Math.pow(a, 2)) + (Math.pow(b, 2)) == Math.pow(c, 2); 
    isIsosceles = (a == b) || (a == c) || (b == c); 
    } 

    // isTriangle() method of the Triangle class 
    public boolean isTriangle() { 
    return isTriangle; 
    } 



    /* 
    * you can add more methods here, 
    * e.g. isScalene(), isEquilateral(), ... 
    * 
    */ 


} 

...あなたはトライアングルクラス、このようなものを作成する必要があると思うし、このクラスをテストする場合、私はあなたが作成することができます主な方法、と他のクラスを作成しますトライアングルは、あなたが一つのクラスでそれをしたい場合は、あなたがトライアングルクラスにのAppクラスから全体メイン方法を移動させることができ、...もちろん

public class App { 

    public static void main(String[] args) {   
     // creating triangle objects from Triangle class... 
     Triangle t1 = new Triangle(3, 3, 5); 
     Triangle t2 = new Triangle(3, 1, 1);   
     // testing the methods of the triangle objects... 
     System.out.println("Is t1 a triangle? " + t1.isTriangle()); 
     System.out.println("Is t2 a triangle? " + t2.isTriangle());  
    } 

} 

オブジェクトとそのメソッドを呼び出しますそのクラスだけを使用してください(その場合はyoあなたはAppクラスは必要ありません)。

+0

ここでブーレーンのプライベートとパブリックの関係は重要ですか? –

+0

Appクラスのように他のクラスから変更したくない場合が多いので、これらはプライベートである必要があります。これらの変数の値は、isTriangle()などのメソッドを使用してAppクラスからのみアクセスできます。 –

+0

これらの変数publicを設定した場合(可能ですが、Triangleクラスを作成する正しい方法ではありません)、Appクラスから直接アクセスできます。 t2.isTriangle = trueを設定できます。これは正しくありません! –

関連する問題