Java不兼容的类型:int无法转换为int []

时间:2020-02-26 11:45:07

标签: java

class Solution {
    public int[] Test(int[] x, int target) {
        target = 100;
        int i;
        int j;
        int sum;
        for (i = 0; i > 3; i++) {
            for (j = 0; j > 3; j++) {
            sum = x[i] + x[j];
                if (sum == target) {
                    return x[i];
                    return x[j];
                }
            }
        }
    }
}

我正在尝试编写代码以返回2个元素(来自数组),求和后给我目标整数100。 我不断收到以下2个错误:

incompatible types: int cannot be converted to int[] 
                    return x[i];                         
incompatible types: int cannot be converted to int[] 
                    return x[j];

2 个答案:

答案 0 :(得分:3)

return new int[]{x[i], x[j]};

您要返回数组int[],而不是单个int值。

return x[i];
return x[j];

没有任何意义,因为return语句立即中断了流程(将控制权返回给调用者),从而使以下语句不可访问。

最后您还缺少return语句。如果尚未达到target,您仍然必须从方法中返回一些内容。

它可能是一个空数组:

return new int[0];

但是,通常,我们会抛出一个异常,说给定的参数不能使该方法起作用:

throw new IllegalArgumentException("The target wasn't met for the given input.");

答案 1 :(得分:2)

return x[i];
return x[j];

一个方法只能返回一个值。 将上面的内容变成这样:

int[] tmp = new int[2];
tmp[0] = x[i];
tmp[1] = x[j];
return tmp;
相关问题