题目

在控制台输出标准的九九乘法表,要求列对齐排版整齐。

输入格式:无键盘输入。

输出格式:输出 9 行乘法算式表,每项形如 1*1=1,算式之间保持固定宽度对齐。

数据范围与约定:行数 1 ≤ i ≤ 9,列数 1 ≤ j ≤ i。

思路与算法

1. 双重循环控制行列
外层循环 i 控制行数(1~9),内层循环 j 控制列数(1~i)。下三角结构的特征是内层循环终止条件为 j <= i。

2. 格式化对齐技巧
在 System.out.printf 中使用 %-4d 实现左对齐并保留 4 个字符宽度,确保单双位数相乘的算式占据相同宽度,避免阶梯错位。每行结束后输出换行符。

完整程序

public class Main {
    public static void main(String[] args) {
        // 外层循环控制行号(1~9)
        for (int i = 1; i <= 9; i++) {
            // 内层循环控制列号(1~i),形成下三角结构
            for (int j = 1; j <= i; j++) {
                // %-4d 实现左对齐并占 4 字符宽,保证各列整齐不发生错位
                System.out.printf("%d*%d=%-4d", j, i, i * j);
            }
            System.out.println();
        }
    }
}

运行示例

输出:

1*1=1   
1*2=2   2*2=4   
...