Java 2D数组:浏览条目组并对其值进行求和

时间:2015-12-14 21:59:27

标签: java arrays sum

假设存在一个2D Java数组(4x6用于表示)以随机顺序填充数字,范围从1到9。

如果想要计算该数组中所有数字组的个别总和怎么办?

简单说明:
4x6 array containing six 2x2 arrays filled with random numbers

在这种特殊情况下:

  1. 蓝色区域的总和
  2. 紫罗兰地区的总和
  3. 红色区域的总和
  4. 黄色区域的总和
  5. ...
  6. 以下代码适用于任何数组,但前提是每个条目都精确地为1x1,在这种情况下(以及任何其他情况)都是无用的,因为它只是遍历所有条目。

    for (int a = 0; a < x; a++) {
        for (int b = 0; b < y; b++) {
            sum = array[a][b];
        }
    }
    

    如何让它通过一组条目,然后对位于单个组中的所有值求和?

1 个答案:

答案 0 :(得分:0)

startxstartyendxendy就是答案。您将从start迭代到end。这确实需要您知道(或能够计算)这些变量。如果没有,请澄清确切的结构。

如果您的数组声明为:

int[][] matrix = new int [4][6];

一个粗略的例子:

public int sumOfSubMatrix (int startx, int starty, int endx, int endy) {
    int sum = 0;
    for (int x = startx; x <= endx; x++) {
        for (int y = starty; y <= endy; y++) {
            sum += matrix[x][y];
        }
    }

    return sum;
}

您只需添加每个&#34;单元格&#34;到和变量。

现在,如果&#34;颜色&#34;这是不可能的。分散了,甚至一个单元关闭,然后算法必须有一些东西,比如它们的位置。如果结构是100%混乱,那么你最好的选择是使用if-guard s的强力。