2

我正在尝试编译我知道在其他人的机器上工作但在我的系统上引发特定错误的代码。具体来说,该错误与 printf() 方法有关

PrintStream 类型中的方法 printf(String, Object[]) 不适用于参数 (String, double)

例如

public static void main(String[] args) {

        double rate =10.5;
        System.out.printf("%.3f",  rate);
    }

有谁知道为什么会出现这个错误?有使用 printf() 的替代方法,但这很烦人!

4

2 回答 2

4

您是否有可能拥有 Java 编译器合规级别 1.4?

于 2013-10-20T20:38:34.030 回答
0

有趣的是它在 Java 7 上编译没有问题,并打印出来

10.500

它可能使用autoboxing. 但是忽略自动装箱的问题 - 因为您的方法只接受Objects而不接受,所以primitives您需要使用包装器Double

于 2013-10-20T20:39:24.603 回答