如何找到二维数组中所有元素的总和?

时间:2021-03-21 20:37:33

标签: java arrays sum double

我需要找到我的 2D 数组中所有元素的总和,但这些元素是双精度的,并且它们仅作为整数添加。当它应该作为 55 出现时,输出作为 59.6 出现。非常感谢任何形式的帮助。

class Main {
    public static void main(String[] args) {
        double[][] step4 =
                {{1.1,2.2},{3.3,4.4},{5.5,6.6},{7.7,8.8},{9.9,10.10}};
        int sum = 0;
        for (int r = 0; r < step4.length; r++) {
            for (int c = 0; c < step4[r].length; c++) {
                sum += step4[r][c];
            }
        }
        System.out.println(sum);
    }
}

3 个答案:

答案 0 :(得分:2)

将 sum 变量从 int 更改为 double。因为您正在对双精度进行加法运算,最后您将它们转换为 int。

答案 1 :(得分:0)

class Main {
    public static void main(String[] args) {
        double[][] step4 =
                {{1.1,2.2},{3.3,4.4},{5.5,6.6},{7.7,8.8},{9.9,10.10}};
        double sum = 0;
        for (int r = 0; r < step4.length; r++) {
            for (int c = 0; c < step4[r].length; c++) {
                sum += step4[r][c];
            }
        }
        System.out.println(sum);
    }
}

输出如下:

Here is the output

答案 2 :(得分:0)

您可以将 DoubleStream 用于此目的:

double[][] arr = {{1.1,2.2},{3.3,4.4},{5.5,6.6},{7.7,8.8},{9.9,10.10}};

double sum = Arrays.stream(arr).flatMapToDouble(Arrays::stream).sum();

System.out.println(sum); // 59.6