添加两个数组的相应单元格

时间:2013-11-26 23:33:34

标签: java arrays indexing

我遇到了问题。我应该添加两个不同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] );

} }

我被困住了,想要一点指导。谢谢大家!

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