Java 编译错误变量未初始化

Java 编译错误变量未初始化,java,Java,我在这里编写了一个程序,提示用户输入3个整数变量,比较它们,找出其中最大的、中间的和最小的,这部分工作正常。我的问题是,如果你看我的第一个if语句,我试图将这些值保存到内存中的一个变量中,我会不断得到未初始化的变量错误。任何帮助都会很好!我基本上希望存储这些值,以继续编写更多代码来比较它们,并找出它们是否创建三角形 import java.util.Scanner; public class TriangleProgram { public static void

我在这里编写了一个程序,提示用户输入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);
          }


       }
    }

翻转作业。他们在后退

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

如果你想做的那部分

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

您正在将最大值(未指定任何值)指定给x(同样,将中间值指定给y,将最小值指定给z)。这就是为什么您会得到一个未初始化的变量错误,而这可能不是您想要做的。尝试:

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

我不认为你想要
x=max;y=中间;z=最小值。看起来更像是想要
max=x;中间=y;smalles=z
         largest = x;
         middle = y;
         smallest = z;