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

Java使用制表符\t打印对齐列格式任务列表的实现方案

控制台列对齐打印ArrayList内容的解决方案

问题原因

  • 你当前使用\t实现对齐失效的核心原因是:制表符的宽度是固定的(通常为4/8个字符),如果某行的任务名称长度超过一个制表位的长度,下一个制表位的偏移量就会和其他行不一致,最终导致列错位。

解决方案

使用Java自带的格式化输出方法printf,通过指定固定宽度的占位符强制每列的长度,实现精准对齐:

public void printList(){
    // 占位符说明:%-20s = 左对齐、占20个字符位的字符串;%-15s = 左对齐、占15个字符位的字符串;%n是跨平台换行符
    System.out.printf("%-20s %-15s%n", "Task", "Due date");
    for (Task task : taskArrayList) {
        System.out.printf("%-20s %-15s%n", task.getTask(), task.getDate());
    }
}

参数调整说明

  • 如果你的任务名称普遍更长,可以把%-20s中的数值20调整为更大的数值,确保最长的任务名也能完整展示,不会挤占下一列的位置。
  • 如果需要列内容右对齐,去掉占位符中的-符号即可,例如%20s就代表右对齐、占20个字符位的字符串。

内容的提问来源于stack exchange,提问作者Rafael Rubenstein

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:15:03