2017-09-16 115 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 =中間; z =最小;'。看起來更像是你想'最大= x; middle = y; smalles = z;' – acdcjunior

回答

2

翻轉任務。他們倒退了。

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

的部分,如果你想要做

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

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

你分配的最大的值(你還沒有分配任何東西)爲x(並且對於中間到y和最小到z)。這就是爲什麼你得到一個變量沒有初始化錯誤,這可能不是你想要做的。嘗試:

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