2017-09-16 118 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;