我得到了这个错误,但我不完全确定为什么,我确实声明了(第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;
}
答案 0 :(得分:1)
指定数据变量值。如果gui为真,则分配为data
但如果数据为假则会分配。所以要么指定in else
或at a time of declaration
。为了避免错误,你需要分配本地变量。 Java并不强制初始化实例变量并允许默认值,但对于局部变量,开发人员调用它来赋值。
char data = 0;
答案 1 :(得分:0)
您尚未初始化char
。
char data = '\0';
或
char data = 0;