如何调整Java二维数组乘法表的打印间距与格式?
修正Java乘法表打印格式:消除行首空格并保持对齐
你的问题出在打印时统一使用了%4d格式符——这个格式会强制每个数字占用4个字符宽度,不足部分用前置空格填充,导致每行第一个数字前出现多余空格。要实现行首无空格且整体对齐的效果,只需区分每行第一个元素和后续元素的打印格式即可。
解决方案
修改打印循环逻辑:
- 对每行的第一个元素,直接输出其原始长度,不添加前置空格
- 对后续元素,继续使用
%4d格式,通过前置空格保证整体对齐
同时可以优化原代码中多余的range变量(该变量并未实际用到,数组初始化直接用rowInput和colInput即可,避免不必要的空间浪费)。
修正后的完整代码
int tableElem[][] = new int[rowInput][colInput]; // 填充乘法表数据 for (int row = 0; row < rowInput; row++) { for (int col = 0; col < colInput; col++) { tableElem[row][col] = (row + 1) * (col + 1); } } // 打印乘法表,修正格式 for (int row = 0; row < rowInput; row++) { for (int col = 0; col < colInput; col++) { if (col == 0) { // 第一个元素直接输出,无前置空格 System.out.printf("%d", tableElem[row][col]); } else { // 后续元素保留4位宽度,前置空格对齐 System.out.printf("%4d", tableElem[row][col]); } } System.out.println(); }
效果验证
运行后会输出符合预期的格式:
1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25
内容的提问来源于stack exchange,提问作者ShinAquilaaaa
相关产品推荐
相关产品推荐

