在java中,如果我在函数中初始化了一个变量,该函数最后返回一个变量,为什么我不能返回该函数?
以下是我正在使用的一些示例代码
private int spitNumber(int imgNum) {
int returnNum;
switch (imgNum) {
case 1:
case 14:
case 27:
case 40:
returnNum = 1;
break;
case 12:
case 25:
case 38:
case 51:
returnNum = 12;
break;
case 13:
case 26:
case 39:
case 52:
returnNum = 13;
break;
};
return returnNum;
}
编译代码时,我收到错误消息
error: variable returnNum might not have been initialized
return returnNum;
^
答案 0 :(得分:4)
您正在使用switch
,但您的开关并未涵盖所有情况。
在imgNum = 100
时考虑一下,您的计划会为returnNum
分配什么价值?
没什么,对吧?
因此,您应初始化returnNum
的起始值或为default
提供switch
个案例并在此处指定returnNum
值
答案 1 :(得分:0)
因为您没有任何默认案例。显示的消息表明,如果您的值不在处理的案例中,则该变量可能尚未初始化。
答案 2 :(得分:0)
需要在代码的开头初始化变量。
示例: int returnNum = 0;
答案 3 :(得分:0)
例如int
等原始类型不能是null
。你必须初始化它。