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

如何在Java的toString方法中实现内容对齐排版

解决Java toString输出对齐问题

要实现横向对齐的表格式输出,你可以用Java的String.format()方法,通过固定宽度的占位符控制每列宽度,确保内容对齐。

修改后的toString方法代码

public String toString() {
    // 定义表头,每个字段设置固定宽度(可按需调整)
    String header = String.format("%-10s %-8s %-15s %-12s", "name", "IC NO", "taxableincome", "taxableAmount");
    // 对应内容行,用相同宽度占位符对齐
    String content = String.format("%-10s %-8s %-15.2f %-12.2f", 
        person, icNo, taxableIncome, taxAmount);
    // 拼接表头和内容,换行分隔
    return header + "\n" + content;
}

代码说明

  • %-10s:-表示左对齐,10为字段占的字符宽度,s对应字符串类型;
  • %-15.2f:针对数值类型,15是总宽度,.2f保留两位小数,保证数值对齐;
  • 可根据实际字段长度调整占位符宽度,让列对齐更美观。

输出效果示例

name       IC NO    taxableincome     taxableAmount
Poon       000912   85000.00          17000.00

如果需要保留STATUS字段,可在表头和内容中添加对应占位符:

public String toString() {
    String header = String.format("%-10s %-8s %-15s %-6s %-12s", "name", "IC NO", "taxableincome", "status", "taxableAmount");
    String content = String.format("%-10s %-8s %-15.2f %-6s %-12.2f", 
        person, icNo, taxableIncome, status, taxAmount);
    return header + "\n" + content;
}

对应输出:

name       IC NO    taxableincome     status taxableAmount
Poon       000912   85000.00          S      17000.00

内容的提问来源于stack exchange,提问作者Steve Poon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:10:41