如何用Java打印信息表


问题内容

我正在尝试使用Java打印表格,但我想知道这样做的最佳方法是什么?

我试过打印新行并使用\ t使内容对齐,但这不起作用。有没有这样做或更好的方法?


问题答案:

您可以使用System.out.format(…)

例:

final Object[][] table = new String[4][];
table[0] = new String[] { "foo", "bar", "baz" };
table[1] = new String[] { "bar2", "foo2", "baz2" };
table[2] = new String[] { "baz3", "bar3", "foo3" };
table[3] = new String[] { "foo4", "bar4", "baz4" };

for (final Object[] row : table) {
    System.out.format("%15s%15s%15s\n", row);
}

结果:

        foo            bar            baz
       bar2           foo2           baz2
       baz3           bar3           foo3
       foo4           bar4           baz4

或将以下代码用于左对齐输出:

System.out.format("%-15s%-15s%-15s\n", row);