2017-09-16 15 views
-2

ここでは3つの整数変数を比較し、どちらが一番大きい中で最小かを調べ、その部分が正常に動作することをユーザーに確認するプログラムを作成しました。私の問題は、最初のif文を見て、それらの値をそれぞれメモリ内の変数に保存しようとしている場合、変数を初期化されていないエラーにしています。どんな助けも素晴らしいだろう!基本的には、それらの値を比較し、三角形を作成するかどうかを調べるために、より多くのコードを書き続けるためにそれらの値を保存したいと思っています。コンパイルエラー変数が初期化されていません

import java.util.Scanner; 
    public class TriangleProgram 
    { 
     public static void main(String [] args) 
     { 
      Scanner input = new Scanner(System.in); 

      int x; 
      System.out.print("Enter X: "); 
      x = input.nextInt(); 

      int y; 
      System.out.print("Enter Y: "); 
      y = input.nextInt(); 

      int z; 
      System.out.print("Enter Z: "); 
      z = input.nextInt(); 

      System.out.println(); 

      int largest; 
      int middle; 
      int smallest; 


      if(x > y && x > z && y > z) 
      { 
      System.out.println("Largeset Number: " + x); 
      System.out.println("Middle Number: " + y); 
      System.out.println("Smallest Number: " + z); 

      x = largest; 
      y = middle; 
      z = smallest; 

      } 

      else if(x > y && x > z && z > y) 
      { 
      System.out.println("Largeset Number: " + x); 
      System.out.println("Middle Number: " + z); 
      System.out.println("Smallest Number: " + y); 
      } 

      else if(y > x && y > z && x > z) 
      { 
      System.out.println("Largeset Number: " + y); 
      System.out.println("Middle Number: " + x); 
      System.out.println("Smallest Number: " + z); 
      } 

      else if(y > x && y > z && z > x) 
      { 
      System.out.println("Largeset Number: " + y); 
      System.out.println("Middle Number: " + z); 
      System.out.println("Smallest Number: " + x); 
      } 

      else if(z > x && z > y && x > y) 
      { 
      System.out.println("Largeset Number: " + z); 
      System.out.println("Middle Number: " + x); 
      System.out.println("Smallest Number: " + y); 
      } 

      else 
      { 
      System.out.println("Largeset Number: " + z); 
      System.out.println("Middle Number: " + y); 
      System.out.println("Smallest Number: " + x); 
      } 


     } 
    } 
+2

私はあなたが 'x = y = middle; z =最小;あなたが「最大= x」を望むように思えます。 middle = y; smalles = z; ' – acdcjunior

答えて

2

割り当てを反転します。彼らは後方にいる。

largest = x; 
middle = y; 
smallest = z; 
1

ザ・一部あなたはあなたがxに(あなたがに何も割り当てられていない)の最大の値を(代入している

Largest = x; 
Middle = y ; 
smallest = z; 
2

  x = largest; 
     y = middle; 
     z = smallest; 

を行いたい場合同様に中〜y、最小〜z)。そのため、初期化されていないエラーではなく、おそらくあなたがしたいことではありません。試してみてください:

  largest = x; 
     middle = y; 
     smallest = z; 
関連する問題