Printf在Java中使用

时间:2013-10-17 12:58:17

标签: java printf

我在程序中遇到了关于printf的问题,最后我写道:

System.out.print(area[i]+" ");

打印:

2.000000000000001 12.0 28.274333882308138

然后我尝试使用printf替换它:

System.out.printf("%4.1f",area[i]+" ");

但是,它在执行时有错误:

f != java.lang.String

我知道可能是因为4.12.000000000000001值的错误配置,因为如果我只检索点后1位数,那么宽度不会是4位数,但错误信息是什么意思?

2 个答案:

答案 0 :(得分:3)

由于连接运算符+; area[i] + " "java.lang.String类型。执行错误告诉你这个。

错误消息是您的朋友。要学会欣赏它们。

答案 1 :(得分:1)

错误可能与你的表达中的事实相符:

System.out.printf("%4.1f",area[i]+" ");

你不打印一个浮点数,但是一个字符串(是的,area [i] +“”是一个字符串)。

尝试:

System.out.printf("%4.1f",area[i]);

它会变得更好,不是吗?