我有以下方法:
public int getValue()
{
if (currentState == COUNTING)
{
for (int i = 0; i < 99; i++)
{
value = i;
return value;
}
}
else
return super.getValue();
}
我收到以下错误:缺少返回语句。
该方法的目的是如果状态是计数状态,则该值应从0递增到99,并在每次递增后返回值。如果状态不是计数状态,则应使用父类(super class)中的 getValue 方法。
最佳答案
您会收到错误,因为有一种情况“理论上”您可能不会返回任何内容:
if (currentState == COUNTING)
{
for (int i = 0; i < 99; i++)
{
value = i;
return value;
}
// right here
}
现在,我(和你)很清楚你不会到达那里,但编译器则不然。
除此之外,循环内的 return 没有任何意义,因为当 i
为零时,您将输入一次,然后返回它,但这是另一个我不能讲的故事帮忙,因为我不清楚这个函数的目的是什么。
关于java - 缺少返回语句方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419171/