我搜索,找不到像我的例子一样简单。任何人都可以告诉我为什么我得到这个错误?运行时,倍增倍数
import java.util.Scanner;
public class Shopping {
public static void main(String[] args) {
Scanner keyboard = new java.util.Scanner(System.in);
System.out.println("What is the item name?");
String itemName = keyboard.nextLine();
System.out.println("What is the item price?");
double itemPrice = keyboard.nextFloat();
System.out.println("What is the item quantity?");
double itemQuantity = keyboard.nextFloat();
double total = itemQuantity * itemPrice;
System.out.printf("%d x %s @ $%d Total $%d",itemQuantity,itemName,itemPrice,total);
} //main
} // class Shopping
错误:
java.util.IllegalFormatConversionException: d != java.lang.Double
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2793)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2747)
at java.util.Formatter.format(Formatter.java:2520)
at java.io.PrintStream.format(PrintStream.java:970)
at java.io.PrintStream.printf(PrintStream.java:871)
at Shopping.main(Shopping.java:13)
我原先设置itemQuantity如int,但这都吐出来了错误。我认为这是因为不匹配的类型,但是在我纠正之后,错误仍然存在。 任何帮助将不胜感激。
您试图使用'%d'格式化一个double,这是数字的格式键。使用'%f'作为浮点值。 – Vulcan