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