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

Java 九九乘法表完整實作:全三角、下三角、上三角與格式化輸出

     編輯:Java 相關知識

九九乘法表是迴圈巢狀結構的經典練習。本文提供完整三角、下三角、上三角三種輸出模式,並示範格式化對齊技巧。

1. 完整九九乘法表(9×9 全三角)


public class MultiplicationTable {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= 9; j++) {
                System.out.printf("%d×%d=%-3d", i, j, i * j); // %-3d 左對齊佔 3 寬
            }
            System.out.println();
        }
    }
}

輸出片段:

1×1=1  1×2=2  1×3=3  ... 1×9=9
2×1=2  2×2=4  2×3=6  ... 2×9=18
...
9×1=9  9×2=18 ... 9×9=81

2. 下三角(無重複乘積,j ≤ i)


for (int i = 1; i <= 9; i++) {
    for (int j = 1; j <= i; j++) { // 關鍵:j <= i
        System.out.printf("%d×%d=%-3d", i, j, i * j);
    }
    System.out.println();
}
1×1=1
2×1=2  2×2=4
3×1=3  3×2=6  3×3=9
...
9×1=9  ...  9×9=81

3. 上三角(j ≥ i)


for (int i = 1; i <= 9; i++) {
    for (int j = i; j <= 9; j++) { // 關鍵:j = i 起始
        System.out.printf("%d×%d=%-3d", i, j, i * j);
    }
    System.out.println();
}
1×1=1  1×2=2  ... 1×9=9
2×2=4  2×3=6  ... 2×9=18
...
9×9=81

4. 進階:對齊美化版(固定寬度、右對齊)


public class PrettyTable {
    public static void main(String[] args) {
        final int MAX = 9;
        final int WIDTH = 8; // 每欄固定 8 字元

        for (int i = 1; i <= MAX; i++) {
            for (int j = 1; j <= i; j++) {
                String cell = String.format("%d×%d=%d", i, j, i*j);
                System.out.printf("%-" + WIDTH + "s", cell);
            }
            System.out.println();
        }
    }
}

5. 遞迴版(學術練習)


public static void printRow(int i, int j) {
    if (j > i) { System.out.println(); return; }
    System.out.printf("%d×%d=%-3d", i, j, i*j);
    printRow(i, j+1);
}

public static void printTable(int i) {
    if (i > 9) return;
    printRow(i, 1);
    printTable(i+1);
}

總結對比

模式內層迴圈條件輸出行數總算式數
全三角j ≤ 9981
下三角j ≤ i945
上三角j ≥ i945

教學重點

  • 雙層 for:外層控制行(被乘數),內層控制列(乘數)。
  • printf 格式化:%-3d 左對齊、%3d 右對齊、%4d 固定寬度。
  • 邊界條件:j <= i vs j < i、j = i 起始值差異。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved