我正在研究一种方法,它找到给定值的第一个实例并返回其位置.它适用于某些情况,但如果我给它一个[1,2,3]数组,并将值设置为2,它返回0,而不是1.我也不知道为什么.这是代码:
int b = 0;
for(int a = 0; a < values.length; a++) {
if (values[a] == find){
b++;
}
}
return b-1;
Run Code Online (Sandbox Code Playgroud)
提前致谢!
因为你回来了b-1.实际上,如果你需要找到相同的实例并返回索引,你甚至不需要变量b.您可以通过以下方式实现此目的:
for( int a = 0; a < values.length; a++) {
if (values[a] == find){
return a;
}
}
return -1 // Notfound
}
Run Code Online (Sandbox Code Playgroud)
添加return -1未找到值的行,以用作标记值.