java如何使用printf

时间:2013-11-13 17:47:48

标签: java printf

我正在尝试使用printf来显示这样的内容:

Temperature: # # # # # # # # # # # #

但是当我运行我的程序时,我得到了这个:

Temperature:Temperature:Temperature:Temperature:Temperature:Temperature:Temperature:Temperature:Temperature:Temperature:Temperature:Temperature:
  69.0      67.0      66.0      64.0      66.0      69.0      67.0      67.0      70.0      69.0      69.0      70.0

以下是我的代码片段:

System.out.printf("Temperature:", "%10.1f", temperature);

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:1)

应该是

System.out.printf("Temperature %10.1f\n", temperature)

答案 1 :(得分:0)

不确定您是否使用循环。

如果您正在使用for循环,请在循环外写入System.out.print("Temperature:"); 然后在循环内你可以写System.out.print(temperature+"\t");

答案 2 :(得分:0)

根据您的需要,有很多方法可以做到这一点。

如果您使用Collection来存储温度,您可以遍历它们并打印每个temp,并在它们之间留出空格或制表符。

System.out.print("Temperature: ");
for(int temp: temps)
{
    System.out.print(temp + " ");
}

如果您不太关心输出格式,可以执行以下操作:

System.out.printf("Temperature: %s", Arrays.toString(temperature.toArray()));

那会给你这个:

Temperature: [10.0, 15.0, 20.0]

最后一个答案当然只适用于你的对象有toString()实现的情况。

答案 3 :(得分:0)

为什么不这样做:

String temp = "";

for (strintg s : Temperature){
     temp+= s + " "; }

System.out.printf("Temperature: " + temp);

将温度数组中的所有信息提前传递到字符串中,然后将其作为一个字符串打印出来。