使用Java Printf生成0-255十进制数字表格的换行问题
解决每行显示16个数字的问题
嘿,我来帮你搞定这个换行的问题!你的代码现在每个数字单独占一行,是因为每次printf都加了\n换行符。要实现每行16个数字,我们需要调整换行的时机,而不是每个数字都强制换行。这里有几个关键修改点:
- 修正循环范围:原来的
x <255会漏掉255这个数字,改成x <=255才能覆盖0到255的所有数。 - 去掉默认换行:把
printf里的\n去掉,只打印格式化后的数字。 - 添加换行判断:每打印16个数字后手动换行,我们可以通过判断当前数字的位置来实现。
下面是修改后的完整代码:
for(int x = 0; x <= 255; x++) { // 用%5d格式化打印数字,不自动换行 System.out.printf("%5d", x); // 每16个数字后换行:当x+1是16的倍数时(从0开始数,第16个数字是15,x+1=16) if ((x + 1) % 16 == 0) { System.out.println(); } }
补充说明:
你也可以用另一种判断方式,效果完全相同:
// 当当前数字是每行的最后一个(比如15、31...)时换行 if (x % 16 == 15) { System.out.println(); }
这样运行后,就能看到每行整齐排列16个宽度为5的十进制数字,从0一直到255啦~
内容的提问来源于stack exchange,提问作者bunny
相关产品推荐
相关产品推荐

