缺少return语句方法

Aks*_*hah 2 java methods return-type

我有以下方法:

public int getValue()
{
  if (currentState == COUNTING)
  {
    for (int i = 0; i < 99; i++)
    {
      value = i;
      return value;
    }

  }
  else
    return super.getValue();   
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:缺少return语句.

该方法的目的是,如果状态是计数状态,则值应从0增加到99,并在每次递增后返回该值.如果状态不是计数状态,则应使用超类中的getValue方法.

MBy*_*ByD 6

你得到错误,因为有一个案例"理论上"你可能不会返回任何东西:

if (currentState == COUNTING)
  {
    for (int i = 0; i < 99; i++)
    {
      value = i;
      return value;
    }
// right here
}
Run Code Online (Sandbox Code Playgroud)

现在,我(和你)很清楚你不会到达那里,而不是编译器.

除此之外,循环内部的返回毫无意义,因为你要输入一次,当i它为零时,返回它,但这是另一个我无法帮助的故事,因为我不清楚目的是什么这个功能.