首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java計算矩陣對角線元素之和:固定3×3與動態N×N實現

     編輯:Java 相關知識

矩陣對角線求和是經典陣列練習,本文提供兩種版本:固定大小與使用者輸入維度。

固定 3×3 矩陣

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]` 即可。

動態 N×N 矩陣(鍵盤輸入)

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();
    }
}

進階延伸

  • 副對角線求和:`matrix[i][n-1-i]`
  • 同時計算主/副對角線(奇數階中央元素僅加一次)
  • 輸入驗證與異常處理(`InputMismatchException`)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved