收到错误:
Pay.java:81: error: variable
hourlyWage
might not have been initializedJOptionPane.showMessageDialog(null, hourlyWage);
以下代码。声明了 double hourlyWage,这些语句位于 main 参数内。没看到我错过了什么,是吗?
if(skillInt == 1){
hourlyWage = 17.00;
} else if(skillInt == 2){
hourlyWage = 20.00;
} else if(skillInt == 3){
hourlyWage = 22.00;
}
JOptionPane.showMessageDialog(null, hourlyWage);
最佳答案
消息指出,也许(如果 skillInt
不在 {1, 2, 3}
中)您使用未初始化的变量 (hourlyWage)。首先用一些值初始化它:
hourlyWage = 0;
if (skillInt == 1)
//...
或添加else
block :
//...
else if (skillInt == 3)
hourlyWage = 22.0;
else
hourlyWage = 0;
如果 skillInt
的唯一可能值是 {1, 2, 3},那么您可能想移动第三个 if
阻止仅 else
:
//...
else {
hourlyWage = 22.0;
}
顺便说一句,更漂亮的方法是 switch
运算符:
switch (skillInt) {
case 1 : hourlyWage = 17.0;
break;
case 2 : hourlyWage = 20.0;
break;
case 3 : hourlyWage = 12.0;
break;
default : hourlyWage = Double.POSITIVE_INFINITY;
}
关于java - 错误: variable might not have been initialized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23474957/