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

Java程序中如何为查询结果列间添加|分隔线?循环逻辑是什么?

实现Java结果集的竖线分隔列输出

没问题,我来帮你调整这段代码,实现你想要的竖线分隔列格式,同时给你讲清楚循环逻辑的变化(其实核心遍历逻辑不用改,只是输出格式换了~)

修改后的完整代码

// 表头改成带竖线和空格的规整格式
System.out.println("| EMPO | ENAME | SAL | AVERAGE |"); 
// 分隔线对应表头长度,保持视觉对齐
System.out.println("|---------------------------|"); 
while(rs.next()) { 
    int eno = rs.getInt("empo"); 
    String ename = rs.getString("ename"); 
    int sal = rs.getInt("sal"); 
    int avg = rs.getInt("average"); 
    // 用String.format统一格式化每行输出,确保竖线分隔的一致性
    System.out.println(String.format("| %d | %s | %d | %d |", eno, ename, sal, avg)); 
}

关键修改点说明

  • 表头调整:直接把原来的制表符分隔改成| 列名 |的格式,每个列名前后加空格,首尾也加上竖线,形成规整的表头样式。
  • 分隔线优化:把原来的纯横线改成带首尾竖线的样式,长度和表头对应,视觉上更整齐。
  • 循环内输出改造:用String.format拼接每行内容比直接用+更清晰,每个字段都被| 和 |包裹,最终形成和表头一致的竖线分隔格式。

循环逻辑说明

原来的while(rs.next())遍历逻辑完全不需要改动:

  • rs.next()会每次移动结果集的游标到下一行,如果还有数据就返回true,进入循环体;如果没有更多数据就返回false,结束循环。
  • 循环内依旧是取出当前行的四个字段值,只是把输出格式从制表符分隔换成了竖线分隔而已,核心的遍历和数据读取逻辑保持不变。

如果想要让列对齐更美观(比如不同长度的ename不会打乱格式),可以给String.format的占位符指定宽度,比如把%s改成%-10s(左对齐,占10个字符宽度),这样输出会更规整:

System.out.println(String.format("| %-4d | %-10s | %-4d | %-7d |", eno, ename, sal, avg)); 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:26:05