刷个简单级算法题,一直报错说没有没有返回值

img

如上,我知道这个解法是错的。但是我就是想不通为什么会报错,求解

申明int类型的,不管最后结果如何,都要返回一个int类型的数据 ,你这不是只有满足条件才返回么,其他不满足的没有返回呀

img


最后要有返回值,比如这样

    public int singleNumber(int[] nums){
        int result=0;
        for(int i=0;i < nums.length;i++){
            for(int j =i+ 1;j <nums.length;j++)
            {if (nums[j] == nums[i]){
        break;
    }else if (j == nums.length - 1){
                return nums[i];
    }
    }}
        return result;
}


如果没进循环 那就没有返回值 外边声明一个变量 方法最后返回这个变量 在循环中修改变量的值

img


有返回类型的方法,最后需要有一个返回值,你这种写法只有在进入循环了才会有返回值,不进循环没有返回,所以需要在循环外返回一个值