我正在开发一种方法,该方法可以查找给定值的第一个实例并返回其位置。它适用于某些情况,但如果我给它一个 [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;
提前致谢!
最佳答案
因为你要返回 b-1。事实上,如果您需要查找相同的实例并返回索引,您甚至不需要变量 b。您可以通过以下方式实现此目的:
for( int a = 0; a < values.length; a++) {
if (values[a] == find){
return a;
}
}
return -1 // Notfound
}
添加 return -1
行,以便在找不到值时用作哨兵值。
关于Java逻辑问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12351862/