java - 缺少返回语句方法

标签 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();   
}

我收到以下错误:缺少返回语句。

该方法的目的是如果状态是计数状态,则该值应从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/

相关文章:

java - 使用 JAXB 从 Java 对象创建 xml 时如何在 JAXB 中创建嵌套根元素

c++ - 返回一个类型转换引用是否安全?

C++ 返回一个对象或在函数内部更改对象

go - 多行返回多个值

java - GWT:向 CellTable 添加过滤

java - 重复drawLine()来绘制垂直条Java

java - 通过单击操作按钮更改 Activity ?

java - 使用数组字符串元素动态调用方法?

java - 为什么这个公共(public)字符串函数不起作用?

java - 从父类(super class) static main 创建子类