2

我猜这是一个n00b问题,但这里有。作为我的 CS 学位作业的一部分,我们遇到了以下问题,但是,我就是不知道从哪里开始。我想,在先完成所有其他问题后,我的头有点炸了,因为通常我可以很快解决这些问题!

编写一个初始化两个二维数组的程序

int arrayA[][] = {{1,4,3,5},{3,8,1,2},{4,3,0,2},{0,1,2,7}};
int arrayB[][] = {{6,1,0,8},{3,2,1,9},{5,4,2,9},{6,5,2,0}};

**程序应该添加数组并将结果放入第三个二维数组。

例如,如果 A = {{1,2},{3,4}} 且 B = {{5,6},{7,8}},则 C = A + B = {{1 + 5, 2 + 6 }, {3 + 7, 4 + 8}} = {{6, 8},{10, 12}}

我们还没有真正详细地触及多维数组,这就是我卡住的地方。请不要给我问题的答案,这不会帮助我学习,但是如果有人可以就解决这个问题的一般方向给出一些指示,那将是一个很大的帮助。到目前为止,我一直在尝试将 4 个数组的初始数组拆分为 4 个一维数组,然后使用 for 循环执行计算,但我认为肯定会有一种更简单的方法,因为这会给我留下 12 个一维数组数组(每个多维数组4个,另外4个一维数组组成数组C,计算结果。16对于简单的加法来说有点过分,不是吗?

请记住,在你嘲笑我的愚蠢之前,过去几天我在完成其他各种任务时睡得很少!轻敲

######################### 编辑

谢谢大家的帮助,我明白了,现在了解如何解决这些问题,对于其他有类似问题的人,我使用了以下代码;

public class twoDimensionalArray {

    public static void main(String args[]){

        int arrayA[][] = {{1,4,3,5},{3,8,1,2},{4,3,0,2},{0,1,2,7}};
        int arrayB[][] = {{6,1,0,8},{3,2,1,9},{5,4,2,9},{6,5,2,0}};
        int arrayC[][] = new int[4][4];

        for(int i = 0; i < arrayA.length; i++) {
            for(int j = 0; j< arrayA[0].length; j++) {
                arrayC[i][j] = arrayA[i][j] + arrayB[i][j];

            } // end j for loop
        } // end i for loop 

        for (int i = 0; i < arrayC.length; i++) {
            for (int x = 0; x < arrayC[i].length; x++) {
                 System.out.print(arrayC[i][x] + "  | ");
            }
            System.out.println();
        }
    } // end main
} // end class
4

3 回答 3

1

你需要弄清楚两件事:

  1. 如何分配输出数组。这应该很容易,因为维度将与每个输入数组的维度相同。
  2. 如何遍历数组。最简单的方法是使用两个嵌套for循环(每个维度一个)。

祝你好运!

于 2012-11-27T19:41:33.723 回答
1

Declare and initialize new 2-dimensional array "arrayC" to hold your results. Use nested for loops to loop through both arrays and add the results, storing the results in your new 2D array.

于 2012-11-27T19:41:35.793 回答
0

Assuming that the arrays are the same length:

for (int x = 0; x < arrayA.length; x++)
  for (int y = 0; y < arrayA[0].length; y++)
    result[x][y] = arrayA[x][y] + arrayB[x][y];
于 2012-11-27T19:46:55.683 回答