You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java乘法表矩阵如何按指定格式对齐输出?

解决Java乘法表对齐输出问题

核心问题分析

你当前输出带逗号、排版混乱的原因,大概率是直接调用了Arrays.toString()打印数组——这个方法会自动给元素添加逗号和方括号;同时没有对数字做宽度格式化,导致一位数和两位数的数字(比如1和10)无法对齐。

两步解决方法

1. 替换数组打印逻辑

放弃Arrays.toString(),改为逐个遍历数组元素,手动控制每个元素的输出格式。

2. 用格式化输出实现对齐

使用System.out.printf(),通过格式化字符串指定每个数字的显示宽度,让不同位数的数字自动补空格对齐。

修正后的代码示例

public class MultiplicationTable {
    public static void main(String[] args) {
        int size = 9;
        int[][] table = new int[size][size];
        
        // 生成乘法表数据
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                table[i][j] = (i + 1) * (j + 1);
            }
        }
        
        // 对齐输出乘法表
        for (int[] row : table) {
            for (int num : row) {
                // %3d 表示每个数字占3个字符宽度,默认右对齐,不足补空格
                System.out.printf("%3d", num);
            }
            // 每行结束后换行
            System.out.println();
        }
    }
}

最终输出效果

1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81

可选调整

  • 若需要左对齐,把格式化符改成%-3d即可;
  • 如果是更大的乘法表(比如12×12),可以把宽度调整为%4d,适配最大数字144的显示需求。

内容的提问来源于stack exchange,提问作者Alex2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 18:20:47