java - 错误 : variable data might not have been init

这个问题在这里已经有了答案:





Variable might not have been initialized error

(12 个回答)


6年前关闭。




我收到此错误,但我不完全确定为什么,我确实声明(第 6 行)和初始化(第 11 行)变量,但我仍然收到错误。代码如下:

public static char ReadChar (String prompt, boolean gui) {
    // Enter (prompt, True) for gui popup, else enter prompt and false

    // set up data and objects
    Scanner input = new Scanner(System.in);
    char data;
    String dataGui, strData;


    // prompt for an input int value
    if (gui == true){

        dataGui = JOptionPane.showInputDialog(null, prompt);
        data = dataGui.charAt(0);

    }

    else {
        System.out.print(prompt);
        strData = input.nextLine();

    }
    return data;

}

最佳答案

分配数据变量值。如data如果 gui 为真,则分配,但如果 data 为假,该怎么办。所以要么你必须分配in elseat a time of declaration .为避免错误,您需要分配本地变量。 Java 不强制初始化实例变量并允许默认值,但对于局部变量,开发人员调用它来分配值。

 char data = 0;

关于java - 错误 : variable data might not have been initialized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34523737/

相关文章:

c# - 错误 'Cannot Convert double to int'

c++ - 具有来自不同 header 的模板类的类将无法编译

java - Unresolved 编译问题: The method parseInt(String

java - 变量名称不能在Eclipse中解析为变量错误(多重继承)

c# - 并非所有代码路径都返回值: Unity

c++ - 代码块错误

java - BufferedReader错误

c++ - 奇怪的错误: undefined reference to `class::class(

c++ - 尝试编译我的wxWidgets程序时出现 “is_enum not declared i

sql-server - 从以下脚本获取错误