Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用printf在java中打印列?_Java_Printf_Multiple Columns - Fatal编程技术网

如何使用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