【问题标题】:(Java) Error: This method must return a result of type int(Java) 错误:此方法必须返回 int 类型的结果
【发布时间】:2018-03-08 09:53:18
【问题描述】:

公共类 SingelNumber {

public static void main(String[] args) {
    int[] numList = {1,1,2,2,3,1,7,3};
    System.out.print(singleNumber(numList));

}
public static int singleNumber(int[] nums) {

        boolean dup = false;
        int check = 0;

        for (int i=0;i<nums.length;i++){
            check =nums[i];
            for (int j=i+1;j<nums.length;j++){
                if (check==nums[j])
                    dup = true;
                    break;
            }

            }
        if (dup==false)
            return check;     
    }
 }

我收到一个错误“此方法必须返回 int 类型的结果”。我不知道为什么,因为变量检查是一个 int。

【问题讨论】:

  • 如果if检查都没有通过,该方法会返回什么
  • 如果dup 为真,那么您没有返回值。也不要在你的条件中明确检查布尔值,它已经是一个布尔值。改用if(!dup)
  • 您只在特定条件下返回int。在其他情况下,您什么也不返回。修正你的代码格式,这将帮助你看到错误。

标签: java


【解决方案1】:

如果 dup 为真,Java 很困惑该怎么办,你应该添加 else 语句:

if (dup==false)
        return check;  
else return 0;

您应该安装一个 IDE(如 intelliJ),这样它会立即指出您的错误。

【讨论】:

    【解决方案2】:

    这是因为你的函数只返回检查 dup 是否为假。如果 dup 为真,它将返回 undefined。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 1970-01-01
      • 2013-12-18
      • 2015-09-25
      • 2020-02-16
      相关资源
      最近更新 更多