在Java中,我們可以使用二維數組表示一個矩陣。要求矩陣中各列數的和,可以使用循環遍歷的方式實現。
// 假設有一個3x3的矩陣 int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int[] columnSum = new int[matrix[0].length]; // 存放各列的和 // 對每一列進行求和 for (int i = 0; i< matrix[0].length; i++) { int sum = 0; for (int j = 0; j< matrix.length; j++) { sum += matrix[j][i]; } columnSum[i] = sum; } // 輸出各列的和 for (int i = 0; i< columnSum.length; i++) { System.out.println("第" + (i+1) + "列的和為:" + columnSum[i]); }
在上面的代碼中,我們首先創建一個長度為矩陣列數的整型數組,用來存放各列的和。然后用兩個循環遍歷數組,對每一列進行求和,最后輸出各列的和。
除了循環遍歷之外,我們還可以使用Java 8中的Stream API來實現同樣的功能:
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int[] columnSum = new int[matrix[0].length]; // 使用Stream API求各列的和 IntStream.range(0, matrix[0].length) .forEach(i ->columnSum[i] = IntStream.range(0, matrix.length) .map(j ->matrix[j][i]) .sum()); // 輸出各列的和 Arrays.stream(columnSum).forEach(sum ->System.out.println("列的和為:" + sum));
在上面的代碼中,我們使用IntStream.range()方法生成一個整數流,然后使用forEach()方法對每一列進行求和。與循環遍歷相比,Stream API的代碼更加簡潔,但也需要一定的理解和掌握。