如何使用printf在java的列中打印?

问题描述

我正在尝试获得如下所示的内容

Day         Car 1      Car 2
1           3800.20    2200.42
2           2700.67    3678.14
3           2900.00    2694.47

我尝试在for循环中执行此操作(字符串的第一行代码在for循环之外,但是看起来只是变量不同而已):

System.out.printf("%6d %6d %6d",Day,Car1,Car2);

但我只是遇到错误。我希望这些列左对齐。

我该怎么做?非常感谢!

解决方法

要将列向左对齐,必须在格式设置模式中使用aerender ReferenceError: PREFType is undefined LoadLibrary "n" failed! LoadLibrary "n" failed! ,因为默认情况下,数字列向右对齐:

-

输出:

Object[][] a = {
    {1,3800.20,2200.42},{2,2700.67,3678.14},{3,2900.00,2694.47}
};
System.out.printf("%3s  %-9s  %-9s%n","Day","Car1","Car2");
for (Object[] r : a) {
    System.out.printf("%-3d  %-9.2f  %-9.2f%n",r[0],r[1],r[2]);
}