我很早就问了一个问题,得到了一些很好的帮助:D My first question。我以为我已经脱离险境了,但我想没有。我正在设置/整理我的程序所获得的信息,但当我试图打印变量“时间”时遇到了问题,如果有人能指出我做错了什么,我将非常感激。
我认为问题在于:
// this class prints a loan statement showing the amount borrowed
// and the amount borrowed, the annual interest rate, the number of months
// and the monthly payment
public static void loanStatement(double principle, double interest, int time, double mPayment)
{
System.out.printf("%2s%13s%8s%20s%n", "Principle", "Interest", "Time", "Monthly Payment");
System.out.printf("%2.2f%10.2f%10.2f%n", +principle, +interest +time);
System.out.println("monthly payment is" +mPayment);
System.out.println("interest is" +interest);
System.out.println("Time is" +time);当我取出+时间并删除10.2f (我尝试了许多不同的组合)时,我没有错误。我也有时间和月付款变量被打印出来,得到一个奇怪的网格数字。
我输入了其他的printlns,因为我想检查程序是否返回了正确的值。
下面是我正在收到的格式化错误
Principle Interest Time Monthly Payment
Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '10.2f'
15000.00 36.07 at java.util.Formatter.format(Formatter.java:2487)
at java.io.PrintStream.format(PrintStream.java:970)
at java.io.PrintStream.printf(PrintStream.java:871)
at loanpayment.LoanPayment.loanStatement(LoanPayment.java:89)
at loanpayment.LoanPayment.main(LoanPayment.java:55)
Java Result: 1
BUILD SUCCESSFUL (total time: 6 seconds)我希望我所要求的对你们来说是有意义的,并感谢你们提前提供任何帮助!
发布于 2013-10-07 02:43:57
您在这里只提供了两个输入:
System.out.printf("%2.2f%10.2f%10.2f%n", +principle, +interest +time);而它需要三个。如果对您来说符合逻辑的话,您可能遗漏了在,之前加上逗号( +time ):
System.out.printf("%2.2f%10.2f%10.2f%n", +principle, +interest, +time);发布于 2013-10-07 02:44:23
你用你的格式少了一个逗号。
System.out.printf("%2.2f%10.2f%10.2f%n", +principle, +interest +time);
^--- Missing comma它试图添加最后两个值,尝试
System.out.printf("%2.2f%10.2f%10.2f%n", +principle, +interest, +time);而是..。
https://stackoverflow.com/questions/19216330
复制相似问题