我遇到了问题。我应该添加两个不同arrayd的对应单元格,并将第三个数组填充到相应的单元格中,例如我有ar1 = {4,6,3}和ar2 = {8,5,6}和我必须填充一个空的第三个数组,其总和如此ar3 = {12,11,9}。到目前为止,这是我的代码:
class sumOfArrays
{
public static void main ( String[] args )
{
int[] arrA = { 11, -27, 89, 17};
int[] arrB = {-3, 24, -9, -16};
int[] sum = { 0, 0, 0, 0};
for(int i = 0; i < arrA.length - 1; i++)
{
for(int j = 0; i < arrB.length - 1; i++)
{
sum[arrA[i] + arrB[j]];
}
}
System.out.println("sum: " + sum[0]+"," + sum[1] + "," + sum[2] + "," + sum[3] );
} }
我被困住了,想要一点指导。谢谢大家!
答案 0 :(得分:0)
您计算了两个数组中相应数字的总和,但之后您将其用作sum
的索引,并且没有对其进行任何操作。
只需将总和分配给i
数组中的相应索引sum
。
此外,您不需要2个嵌套循环。只需为i
使用一个嵌套循环,它将用于访问所有数组。
答案 1 :(得分:0)
您在sum []中引用索引而不是存储值。看起来应该更像这样:
sum[i] = arrA[i] + arrB[i];
另外,如果你只使用一个循环,你可以按照我上面的方式在所有三个数组中引用相同的元素。
最后,你应该继续迭代直到 i&lt; arrA.length ,而不是 i&lt; arrA.length - 1 。否则你最后会跳过一个元素。
答案 2 :(得分:0)
在您的示例中,您希望填充arrA an和arryB的sum数组,并且arrA和arrB的长度相等。
然后你需要改变内部for循环。代码,如sum[arrA[i] + arrB[j]]
;,用于从sum数组中获取索引为( arrA [i] + arrB [j]] )的值。尝试编译时会遇到语法错误。因为您没有执行此任务,例如int value = sum[arrA[i] + arrB[j]];
这
for(int j = 0; i < arrB.length - 1; i++)
{
sum[arrA[i] + arrB[j]];
}
要
sum[i] = arrA[i] + arrB[i];
然后你会得到正确的结果。控制台中的输出如下:
sum: 8,-3,80,0