我对如何以相同的方法将数组中的所有数字相加有一个简短的想法,但是我不确定如何使用单独的方法来添加所有数字。 print2DArray()以4x4格式打印出具有随机数的数组。我想不通一种方法,使findSum()方法将方法print2DArray()中的所有数字相加。
public class randomBoard2 {
public static void main(String[] args) {
findSum(); //I was experimenting with this to see what worked
}
//打印下面带有随机数的数组的方法
public static void print2DArray(){
int[][] a = new int [4][4];
for(int i = 0; i < a.length; i++) {
for(int j = 0; j < a[i].length; j++)
a[i][j] = (int)(Math.random() * 10);
}
for(int[] nums: a) {
for(int b: nums) {
System.out.print(b + " ");
}
System.out.println("");
}
}
//将上面数组中所有数字相加的方法在下面
public static void findSum() {
int sum = 0;
//下面的for-each循环中的“ a”是错误的。我不确定该放在哪里。
for(int[] number: a) {
for(int d: number)
sum += d;
System.out.println("The sum of all the numbers is: " + sum);
}
}
}
我对Java来说还比较陌生,所以我不确定我应该如何精确地创建一个将所有数字加到另一个方法中的方法。 (对于可疑的问题,我预先表示歉意。)
答案 0 :(得分:0)
要计算2D数组的总和(名为“ a”)并打印,请尝试以下代码:
int sum = 0;
for (int[] array : a) {
sum += IntStream.of(array).sum();
}
System.out.println(sum);
答案 1 :(得分:-1)
package com.test;
import java.util.Scanner;
/**
*
*
*
*
*
*
* @author shikai.liu
* @version 1.0
* @since JDK1.7
*/
public class TestList {
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
print2DArray();
}
public static void print2DArray() {
int sum = 0;
int[][] a = new int[4][4];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++)
a[i][j] = (int) (Math.random() * 10);
}
for (int[] nums : a) {
for (int b : nums) {
sum += b;
System.out.print(b + " ");
}
System.out.println("");
}
System.out.println(sum);
}
}