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

Java不兼容类型:无法将int转换为int[],java,Java,我正在尝试编写一个代码来返回2个元素(来自数组),当求和时,这些元素给了我目标整数100。 我不断发现以下两个错误: 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;

我正在尝试编写一个代码来返回2个元素(来自数组),当求和时,这些元素给了我目标整数100。 我不断发现以下两个错误:

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];
                }
            }
        }
    }
}
您希望返回数组
int[]
,而不是单个
int

return new int[]{x[i], x[j]};
没有任何意义,因为
return
语句会立即中断流(将控制权返回给调用程序),使以下语句无法访问

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

它可能是一个空数组:

return x[i];
return x[j];
但是,通常情况下,我们会抛出一个异常,表示给定的参数无法使该方法工作:

return new int[0];
一个方法只能返回一个值。 按此顺序转动上述按钮:

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

@David如果目标是返回两个项目,那么它不是,它实际上是尝试从同一方法返回两次。我假设您想要返回一个两元素数组,其值为
x[I]
x[j]
?您必须创建所述数组,填充它,然后返回它。
throw new IllegalArgumentException("The target wasn't met for the given input.");
return x[i];
return x[j];
int[] tmp = new int[2];
tmp[0] = x[i];
tmp[1] = x[j];
return tmp;