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

使用Java Printf生成0-255十进制数字表格的换行问题

解决每行显示16个数字的问题

嘿,我来帮你搞定这个换行的问题!你的代码现在每个数字单独占一行,是因为每次printf都加了\n换行符。要实现每行16个数字,我们需要调整换行的时机,而不是每个数字都强制换行。这里有几个关键修改点:

  1. 修正循环范围:原来的x <255会漏掉255这个数字,改成x <=255才能覆盖0到255的所有数。
  2. 去掉默认换行:把printf里的\n去掉,只打印格式化后的数字。
  3. 添加换行判断:每打印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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 06:17:48