如何使用 printf 在 java 的列中打印?
How do I print in columns in java with printf?
我正在尝试获得如下所示的内容:
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);
但我只是遇到了错误。我希望列左对齐。
我该怎么做?非常感谢!
要将列左对齐,必须在格式化模式中使用 -
,因为默认情况下数字列右对齐:
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]);
}
输出:
Day Car1 Car2
1 3800.20 2200.42
2 2700.67 3678.14
3 2900.00 2694.47
我正在尝试获得如下所示的内容:
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);
但我只是遇到了错误。我希望列左对齐。
我该怎么做?非常感谢!
要将列左对齐,必须在格式化模式中使用 -
,因为默认情况下数字列右对齐:
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]);
}
输出:
Day Car1 Car2
1 3800.20 2200.42
2 2700.67 3678.14
3 2900.00 2694.47