【问题标题】:add the corresponding cells of two arrays添加两个数组的对应单元格
【发布时间】:2013-11-26 23:33:34
【问题描述】:

我遇到了一个问题。我应该添加两个不同阵列的对应单元格并用总和填充第三个数组到对应单元格,例如我有 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] );

} }

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

【问题讨论】:

    标签: java arrays indexing


    【解决方案1】:

    您计算了两个数组中相应数字的总和,但随后您将其用作sum 的索引,但没有对其进行任何操作。

    只需将总和分配给sum数组中对应的索引i即可。

    另外,您不需要 2 个嵌套循环。只需对i 使用一个嵌套循环,它将用于访问所有数组。

    【讨论】:

      【解决方案2】:

      您在 sum[] 中引用索引,而不是存储值。它应该看起来更像这样:

      sum[i] = arrA[i] + arrB[i];
      

      另外,如果您只使用一个循环,您可以按照我上面所做的方式在所有三个数组中引用相同的元素。

      最后,您应该继续迭代直到 i ,而不是 i 。否则你会在最后跳过一个元素。

      【讨论】:

        【解决方案3】:

        在您的示例中,您希望填充 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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-10
          • 1970-01-01
          • 2019-05-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-27
          • 1970-01-01
          相关资源
          最近更新 更多