我正在尝试编译我知道在其他人的机器上工作的代码,但是在我的系统上抛出了一个特定的错误。具体来说,错误与printf()方法有关
PrintStream类型中的printf(String,Object [])方法不是 适用于参数(String,double)
例如
public static void main(String[] args) {
double rate =10.5;
System.out.printf("%.3f", rate);
}
有谁知道为什么会出现这个错误?有替代方法可以使用printf(),但这非常烦人!
答案 0 :(得分:4)
您是否有可能拥有Java编译器合规性级别1.4?
答案 1 :(得分:0)
有趣的是,它在Java 7上编译没有问题,并打印出来
10.500
它可能使用autoboxing
。但是省略了自动装箱的问题 - 因为您的方法只接受Objects
而不是primitives
,您需要使用包装Double
。