如何使用printf在java中打印列?
我正试图得到这样的东西:如何使用printf在java中打印列?,java,printf,multiple-columns,Java,Printf,Multiple Columns,我正试图得到这样的东西: Day Car 1 Car 2 1 3800.20 2200.42 2 2700.67 3678.14 3 2900.00 2694.47 我在for循环中尝试过这样做(字符串的第一行代码在for循环之外,但它看起来相同,只是变量不同): 但我只是犯了一些错误。我想把这些列左对齐 我该怎么做?多谢各位 要将列向左对齐,必须在格式化模式中使用-,因为默认情况下,数字列
Day Car 1 Car 2
1 3800.20 2200.42
2 2700.67 3678.14
3 2900.00 2694.47
我在for循环中尝试过这样做(字符串的第一行代码在for循环之外,但它看起来相同,只是变量不同):
但我只是犯了一些错误。我想把这些列左对齐
我该怎么做?多谢各位 要将列向左对齐,必须在格式化模式中使用
-
,因为默认情况下,数字列向右对齐:
对象[][]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”);
对于(对象[]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
“但我只是犯了些错误。”-什么错误?“%6d”-你想用这个做什么?我猜你想通过花车或双打;你需要的是%6.2f,而不是%6d,但是,实际上,当你就SO提出问题并报告你的尝试时,你需要显示完整的代码并添加你得到的确切错误,这使我们可以更容易地帮助你:)请清楚地指出错误、你的输入、你的实际(不期望的)输出以及你尝试了什么(使用printf语句执行所有循环)。%d在这种情况下是指数字或整数。如果要格式化十进制数字,应使用%f。有关详细信息,请检查此项:
Day Car1 Car2
1 3800.20 2200.42
2 2700.67 3678.14
3 2900.00 2694.47