【发布时间】:2022-01-09 06:59:24
【问题描述】:
import java.util.*;
class Example {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
System.out.print("Input an integer : ");
int num = input.nextInt();
int y;
if (num > 100) {
y = 200;
}
if (num < 100) {
y = 200;
}
if (num == 100) {
y = 200;
}
System.out.println(y);
}
}
错误:
Example.java:19: error: variable y might not have been initialized
System.out.println(y);
^
【问题讨论】:
-
如果没有输入任何
if-分支,则永远不会初始化y。由于访问未初始化的局部变量是非法的,因此编译器会产生错误。编译器无法推断必须输入三种情况之一。我建议在第二种情况下使用else if,在第三种情况下使用else。这将解决问题。
标签: java variables initialization