我是Java的新手,正在尝试编写一些小的代码来工作,但是却收到消息“可能未定义局部变量tal2”。我看到了这个问题,但是我不确定如何解决。

如果第一个输入为0,则该程序应打印“谢谢”行,否则让用户继续输入#2,然后运行第二个else if语句。

    public static void main(String[] args) {
    Scanner stdIn = new Scanner(System.in);

    int tal1;
    int tal2;

    tal1 = stdIn.nextInt();
    if (tal1 == 0 ) {
        System.out.println("Thank you.");
    } else {
    tal2 = stdIn.nextInt();
    }

    if (tal1 > tal2) {
            System.out.println(tal1 + " is greater than " + tal2);
    } else {
        System.out.println(tal2 + " is greater than " + tal1);
    }

    }

最佳答案

您没有像您本意那样调用System.exit()

if (tal1 == 0) {
  System.out.println("Thank you.");
  System.exit(0);
}


您可能还只是return;

或者,您可以将其他语句移到第一个else块中

} else {
  tal2 = stdIn.nextInt();
  if (tal1 > tal2) {
    System.out.println(tal1 + " is greater than " + tal2);
  } else {
    System.out.println(tal2 + " is greater than " + tal1);
  }
}

关于java - JAVA如果在用户输入1为= 0的情况下退出的其他进程将不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26745688/

10-10 11:30