Java如何将排序后数字按指定行列输出为二维表格格式
Java二维数组按行列表格格式打印解决方案
问题根因
原有代码仅对所有二维数组元素做连续打印,没有在每行元素打印完成后插入换行,导致所有内容挤在同一行输出。
调整方案
只需要在遍历完每一行的所有列元素后,插入换行逻辑即可,同时可以用格式化打印保证列对齐效果:
- 外层行循环每完成一行的所有列元素打印后,执行两次换行操作,匹配要求的行间空行效果
- 使用
printf格式化输出控制每个数字的占位宽度,保证列对齐
修改后的完整代码
import java.util.Scanner; public class table { public static void main(String args[]) { // 此处保留原有读取行、列、输入数字、排序写入matrix数组的逻辑即可 System.out.println("Sorted numbers: "); for(int x = 0; x < matrix.length; x++) { for (int y = 0; y < matrix[x].length; y++) { // 每个数字占4个字符宽度,左对齐保证间距一致 System.out.printf("%-4d", matrix[x][y]); } // 第一次换行结束当前行数字打印,第二次换行插入行间空行 System.out.println(); System.out.println(); } } }
效果说明
输入3行3列、待排序数字9 8 7 6 5 4 3 2 1时,输出效果如下:
Sorted numbers: 1 2 3 4 5 6 7 8 9
如果不需要行间的空行,删掉第二个System.out.println();即可。
内容的提问来源于stack exchange,提问作者Nico Ni
相关产品推荐
相关产品推荐

