当前位置: 首页 > 知识库问答 >
问题:

为什么我会出现“缺少返回语句”的错误?[副本]

吴西岭
2023-03-14

如果数组中的前4个元素之一是9,则该方法应该返回true。数组长度可能小于4。在我的方法中,由于某种原因,我不断得到“缺少返回语句错误”。

public boolean arrayFront9(int[] nums) {
   if (nums.length < 4) {
    int counter = 0;
     while (counter != nums.length) {
      if (nums[counter] == 9) {
        return true;
      }else{
        counter = counter + 1;
      }
    } if (counter > nums.length) {
      return false;
    }
  }else{
    int counter = 0;
    while (counter <= 4) {
      if (nums[counter] == 9) {
        return true;
      }else{
       counter = counter + 1;
      } if (counter > 4) {
        return false;
      }
    }
  }
}

共有1个答案

井逸明
2023-03-14

试试这个

public boolean arrayFront9(int[] nums) {
        boolean result = false;
           if (nums.length < 4) {
            int counter = 0;
                while (counter != nums.length) {
                      if (nums[counter] == 9) {
                          result= true;
                        return result;
                      }else{
                        counter = counter + 1;
                      }
                } 

                if (counter > nums.length) {
                     result= false;
                        return result;
                    }
          } else{
                int counter = 0;
                    while (counter <= 4) {
                      if (nums[counter] == 9) {
                          result= true;
                            return result;
                          }
                      else{
                       counter = counter + 1;
                      } 
                    if (counter > 4) {
                        result= false;
                        return result;
                  }
                }
              }
        return result;
        }

实际上,您不是在方法中返回任何内容,而是在if/else中返回任何内容。

 类似资料:
  • 下面的Java不工作,因为它缺少一个return语句。我搞不懂怎么了。有什么想法吗? 即使我去掉字符串u,它也会给出相同的错误,如果我添加int usernameLimit,它也会给出相同的错误。

  • 我正在运行这段java代码,遇到一个错误“缺少返回语句”,请帮助。我在windows中使用cmd运行。

  • } 当我运行这段代码时,我得到以下错误: 我该怎么做来解决这个问题呢? 见下面的条件:给定一个从1到4(含)的数字,返回该数字的一个单词表示。例如,给定2,返回2。如果数字大于4,则返回短语“太大”。如果数字小于1,则返回短语too small。

  • 所以我得到了一个编译器错误,我丢失了一个返回语句,我已经研究了其他类似的问题,但我仍然对这个问题感到困惑。 如果之前有人问过这个问题,我会提前道歉,但我已经看过了其他各种问题,我似乎无法弄清楚这一点。

  • 编译器声称 的末尾缺少一个返回语句。代码如下: 编译器是否正确?(Android Studio) 如果是这样,在什么情况下可以到达方法的末尾?我认为不能是并且所有枚举都包含在开关语句中,在任何情况下返回语句都会离开方法。不能是,因为方法如果结果是,则会引发异常。 如果没有,你会用< code > return null//never behind 标记方法的(希望)不可到达的一端,还是抛出一个<

  • 我想在HW的整数中找到奇数。所以CountOddigtis(56781)应该返回(非打印)5 7 1。我的方法是将整数转换为字符串,并使用它返回。我遇到的问题是 > 缺少返回语句错误,即使我在if语句中有一个返回语句。有人能解释这个错误意味着什么以及如何克服它吗? 当我把返回x;放在方法的末尾时,它会打印56781的错误答案49。 Java解决stringn.charat(x)%2!=0考虑到我可