我不断收到此段代码的返回语句错误。看起来很好,也许在这里的人可以帮忙吗?
//It returns the index of the number specified by the parameter is
//located. If the number is not found, it returns -1.
private int indexOf(int searchingNum) {
for (int index = 0; index < count; index++)
if (numberArray[index] == searchingNum) {
return index;
} else
return -1;
}
答案 0 :(得分:2)
对于编译器,此方法不包含在任何情况下都要执行保证的return
语句。你的return
循环中有for
,但编译器不知道是否至少会执行一次迭代,因此不确定是否会执行return
语句< / p>
答案 1 :(得分:2)
不需要您的上次else
//It returns the index of the number specified by the parameter is
//located. If the number is not found, it returns -1.
private int indexOf(int searchingNum)
{
for (int index = 0; index < count; index++)
if (numberArray[index] == searchingNum){
return index;
}
}
return -1;
}
答案 2 :(得分:0)
当numberArray[0]
searchingNum
private int indexOf(int searchingNum)
{
for (int index = 0; index < count; index++) {
if (numberArray[index] == searchingNum) {
return index;
}
}
return -1;
}
时,您所拥有的内容将始终返回-1。你可能的意思是:
count
还将numberArray.length
转换为count
- 如果numberArray
不等于{{1}}
答案 3 :(得分:0)
问题是当for循环没有执行时会发生什么,会返回什么?您有一个路径不返回由方法的返回类型指定的预期值。
答案 4 :(得分:0)
如果return
语句中包含return
语句,则表示错误if-else
错误。在所有条件语句(包括循环)范围之外的return
个文件上必须至少有一个。
private int indexOf(int searchingNum) {
for (int index = 0; index < count; index++)
if (numberArray[index] == searchingNum){
return index;
}
else return -1;