矩陣對角線求和是經典陣列練習,本文提供兩種版本:固定大小與使用者輸入維度。
public class Ex29 {
public static void main(String[] args) {
double sum = 0;
int[][] array = {{1,2,3},{4,5,6},{7,7,8}};
for (int i = 0; i < 3; i++) {
sum += array[i][i]; // 僅需單層迴圈,i==j 即主對角線
}
System.out.println(sum);
}
}優化點:雙重迴圈配合 `if(i==j)` 雖正確但多餘,直接 `array[i][i]` 即可。
import java.util.Scanner;
public class MatrixDiagonalSum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("請輸入矩陣階數 n: ");
int n = sc.nextInt();
int[][] matrix = new int[n][n];
System.out.printf("請輸入 %d 個整數:%n", n * n);
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
matrix[i][j] = sc.nextInt();
int sum = 0;
for (int i = 0; i < n; i++) sum += matrix[i][i];
System.out.println("矩陣對角線元素之和:" + sum);
sc.close();
}
}