【发布时间】:2014-05-14 19:19:29
【问题描述】:
我是 Java 新手,并且一直在阅读我的一个朋友让我借的一本书。不过,我相信这本书可能有点过时了。
我正在尝试打印价格,为此本书使用了示例(packPrice 和 packVolume 都是使用 in.nextDouble() 输入的双变量):
double pricePerOunce = packPrice / packVolume;
System.out.printf("Price per ounce: %8.2f", pricePerOunce);
System.out.println();
但是,当我在 Java SE 8u5(Windows 64 位)中尝试完全相同的代码时,我得到了错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method printf(String, Object[]) in the type PrintStream is not applicable for
the arguments (String, double)
有人能解决我的问题吗?如果需要更多信息,请告诉我。
提前致谢!
【问题讨论】:
-
您使用的是 IDE 吗?如果是这样,它设置为什么语言兼容级别?如果它设置为 1.4 或更低,您将收到此错误消息。
printf使用可变参数方法,该功能直到 Java 1.5(又名 Java 5)才引入。
标签: java formatting decimal printf