如何找到二维数组中所有元素的总和?
How to find the sum of all the elements in a 2D array?
我需要找到我的二维数组中所有元素的总和,但这些元素是双精度的,它们只是作为整数添加。输出结果为 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);
}
}
将 sum 变量从 int 更改为 double。因为你正在用双打做加法,最后你将它们转换为 int。
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);
}
}
这是输出:
您可以使用 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
我需要找到我的二维数组中所有元素的总和,但这些元素是双精度的,它们只是作为整数添加。输出结果为 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);
}
}
将 sum 变量从 int 更改为 double。因为你正在用双打做加法,最后你将它们转换为 int。
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);
}
}
这是输出:
您可以使用 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