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

Java 經典入門:九九乘法表三種輸出模式 (全/下三角/上三角)

     編輯:Java 相關知識

核心邏輯

雙層循環:外層控制行 i,內層控制列 j。三種模式僅內層循環範圍不同。

1. 完整 9×9 乘法表

public class JiuJiu {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= 9; j++) {
                System.out.print(i + "*" + j + "=" + (i*j) + "\t");
            }
            System.out.println();
        }
    }
}

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

for (int i = 1; i <= 9; i++) {
    for (int j = 1; j <= i; j++) {  // j 只到 i
        System.out.print(i + "*" + j + "=" + (i*j) + "\t");
    }
    System.out.println();
}

輸出:1*1=1 / 2*1=2 2*2=4 / 3*1=3 3*2=6 3*3=9 ...

3. 上三角 (i ≤ j)

for (int i = 1; i <= 9; i++) {
    for (int j = i; j <= 9; j++) {  // j 從 i 開始
        System.out.print(i + "*" + j + "=" + (i*j) + "\t");
    }
    System.out.println();
}

代碼優化建議

  • 使用 StringBuilder 累積行內容,行末一次 println,減少 I/O 調用
  • 格式化輸出:System.out.printf("%d*%d=%-3d ", i, j, i*j) 對齊更美觀
  • 提取公共邏輯:printTable(9, (i,j) -> j <= i) (Java 8+ 函數式)

現代 Java 寫法 (Java 8+)

import java.util.stream.IntStream;

public class JiuJiuModern {
    public static void main(String[] args) {
        // 完整表
        IntStream.rangeClosed(1, 9).forEach(i ->
            IntStream.rangeClosed(1, 9)
                .mapToObj(j -> String.format("%d*%d=%-3d", i, j, i*j))
                .forEach(System.out::print)
        ); // 需手動換行,Stream 不適合行式輸出
        
        // 推薦:傳統循環 + StringBuilder
        for (int i = 1; i <= 9; i++) {
            StringBuilder sb = new StringBuilder();
            for (int j = 1; j <= 9; j++) {
                sb.append(String.format("%d*%d=%-3d ", i, j, i*j));
            }
            System.out.println(sb);
        }
    }
}

總結

九九乘法表是循環嵌套、條件控制、格式化輸出的綜合練習。三種模式體現「同一邏輯,不同邊界」的編程思想。實際開發中,可讀性優於花哨語法,傳統雙層 for 循環配合 StringBuilder 往往是最佳平衡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved