我有一个简单的switch case
案例。
public static int setMapTile() {
int a = getArmadaLength(); // 4 to 6
int b;
switch (a) {
case 4:
System.out.println(" recommended MapSize : 10 x 10");
b = setSize();// method for bigger map, return int
break;
case 5:
System.out.println(" recommended MapSize : 11 x 11");
b = setSize();// method for bigger map, return int
break;
case 6:
System.out.println(" recommended MapSize : 12 x 12");
b = setSize();// method for bigger map, return int
break;
default:
System.out.println("wrong"); // even though it is impossible!
break;
}
return b;
}
它说b
可能尚未初始化。我是否必须使用setter
&getter
将选定的值分配给b
?
JVM将查看所有可能的结果。其中之一是:
default:
System.out.println("wrong"); // even though it is impossible!
break;
之后,您将返回b。但是,由于b是局部变量,因此它没有默认值。您需要针对所有可能的情况对其进行初始化,包括默认的情况:
default:
System.out.println("wrong"); // even though it is impossible!
b = 0;
break;
或在声明中给出ba值:
int b = 0;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句