2016-06-24 10 views
0

ここにコードがあります。入力された辺のすべて3つが0で、1または2だけでなく、ループを停止できるようにする必要があります。入力された辺の1つまたは2つが0の場合、ユーザーにもう一度プロンプトが表示されます。すべての3つの条件が満たされたときにプログラムを終了する演算子はありますか?このインスタンスでdo-whileループを停止する方法

ありがとうございます!

import java.util.Scanner; 

public class Program2 
{ 

public static void main(String[] args) 
{ 
    // Read user inputs 
    @SuppressWarnings("resource") 
    Scanner key = new Scanner(System.in); 

    // User inputed sides of triangle 
    double side1, side2, side3; 


    // Opening messages 
    System.out.println("\t\t\t\t\tTriangle Identifier Program"); 
    System.out.print("This program will tell you what type of tringle you have,"); 
    System.out.println("\nif it is a right triangle, and the area of the triangle."); 
    System.out.println("Use input of 0 0 0 to terminate the program.\n"); 

    do 
    { 
     // Get sides 
     System.out.print("Enter side 1 of the triangle: "); 
     side1 = key.nextInt(); 
     System.out.print("Enter side 2 of the triangle: "); 
     side2 = key.nextInt(); 
     System.out.print("Enter side 3 of the triangle: "); 
     side3 = key.nextInt(); 

     double longest = 0; 
     double shorter1 = 0; 
     double shorter2 = 0; 

     if (side1 == 0 || side2 == 0 || side3 == 0) 
      System.out.println("These numbers do not satisfy the triangle inequality. Please try again."); 

     // Find the largest side 
     if(side1 > side2 && side1 > side3) 
     { 
      longest = side1; 
      shorter1 = side2; 
      shorter2 = side3; 
     } 
     if(side2 > side1 && side2 > side3) 
     { 
      longest = side2; 
      shorter1 = side1; 
      shorter2 = side3; 
     } 
     if(side3 > side2 && side3 > side1) 
     { 
      longest = side3; 
      shorter1 = side1; 
      shorter2 = side2; 
     } 
     if(side1 > 0 && side2 > 0 && side3 > 0) 
     { 
      if(side1==side2 && side2==side3 && side3==side1) 
       System.out.println("The triangle is equilateral"); 
      if((side1==side2 && side2!=side3) || (side2==side3 && side2!=side1) || (side1==side3 && side2 !=side3)) 
       System.out.println("The triangle is isosceles"); 
      if(side1 != side2 && side2 != side3 && side1 != side3) 
       System.out.println("The triangle is scalene"); 
      if(longest == Math.sqrt((shorter1*shorter1)+(shorter2*shorter2))) 
       System.out.println("The triangle is a right triangle"); 
      else 
       System.out.println("The tringle is not a right triangle"); 
     } 



    } while (side1 != 0 & side2 != 0 & side3 != 0); 



} 

} 
+0

追加ブレークキーワード –

+0

を使用して、別の場合であれば(SIDE1 == 0 && SIDE2 == 0 && side3 == 0){ブレーク;}それはすべて3が0 –

+0

に等しくない場合、他の部分に手他の値@NagaSaiA完璧に働いた。説明をありがとう! –

答えて

0

状態ならば、すべての3が0 が {// ゲット側面 System.out.printを(「三角形の辺1を入力してください。」)を実行しているかどうかを確認するために別のものを追加します。 side1 = key.nextInt(); System.out.print( "三角形の2辺を入力してください:"); side2 = key.nextInt(); System.out.print( "三角形の3辺を入力:"); side3 = key.nextInt();

 double longest = 0; 
     double shorter1 = 0; 
     double shorter2 = 0; 
     if (side1 == 0 && side2 == 0 && side3 == 0){ 
       break; 
     } else{ 


     if (side1 == 0 || side2 == 0 || side3 == 0) 
      System.out.println("These numbers do not satisfy the triangle inequality. Please try again."); 

     // Find the largest side 
     if(side1 > side2 && side1 > side3) 
     { 
      longest = side1; 
      shorter1 = side2; 
      shorter2 = side3; 
     } 
     if(side2 > side1 && side2 > side3) 
     { 
      longest = side2; 
      shorter1 = side1; 
      shorter2 = side3; 
     } 
     if(side3 > side2 && side3 > side1) 
     { 
      longest = side3; 
      shorter1 = side1; 
      shorter2 = side2; 
     } 
     if(side1 > 0 && side2 > 0 && side3 > 0) 
     { 
      if(side1==side2 && side2==side3 && side3==side1) 
       System.out.println("The triangle is equilateral"); 
      if((side1==side2 && side2!=side3) || (side2==side3 && side2!=side1) || (side1==side3 && side2 !=side3)) 
       System.out.println("The triangle is isosceles"); 
      if(side1 != side2 && side2 != side3 && side1 != side3) 
       System.out.println("The triangle is scalene"); 
      if(longest == Math.sqrt((shorter1*shorter1)+(shorter2*shorter2))) 
       System.out.println("The triangle is a right triangle"); 
      else 
       System.out.println("The tringle is not a right triangle"); 
     } 

} 

    } while (side1 != 0 & side2 != 0 & side3 != 0); 
関連する問題