我有以下代码,这会产生不稳定的结果。
int nibbleToInt(String val) {
int result;
if(val.substring(3,4) == "1") { result += 1; }
if(val.substring(2,3) == "1") { result += 2; }
if(val.substring(1,2) == "1") { result += 4; }
if(val.substring(0,1) == "1") { result += 8; }
return result;
}
我使用nibbleToInt("0010");
调用该函数,然后返回8663
修改
由于以下回复,以下是工作程序:
int nibbleToInt(String val) {
int result = 0;
if(val.substring(3,4) == "1") { result += 1; }
if(val.substring(2,3) == "1") { result += 2; }
if(val.substring(1,2) == "1") { result += 4; }
if(val.substring(0,1) == "1") { result += 8; }
return result;
}
答案 0 :(得分:4)
如果您初始化result
,您可能会看到不同的结果。 :)否则(我相信)每次都会占用内存中的现有值。