线程“main”中的异常 java.util.IllegalFormatPrecisionException: 2,试图修复格式但没有工作 jGRASP
Posted
技术标签:
【中文标题】线程“main”中的异常 java.util.IllegalFormatPrecisionException: 2,试图修复格式但没有工作 jGRASP【英文标题】:Exception in thread "main" java.util.IllegalFormatPrecisionException: 2, tried to fix the formatting but did not work jGRASP 【发布时间】:2020-11-23 04:42:06 【问题描述】:我正在尝试制作一个平均两个数字的程序。
public class Average
private double one, two, average;
public void setNums(double num1, double num2)
one=num1;
two=num2;
public void average( )
average = (one + two) / 2;
public void print()
System.out.print( one+" + "+two +"has an average of ");
System.out.printf("%.2d\n",average);
这是出现的错误,我认为它是由于格式。
线程“主”java.util.IllegalFormatPrecisionException 中的异常:2 在 java.base/java.util.Formatter$FormatSpecifier.checkInteger(Formatter.java:3138) 在 java.base/java.util.Formatter$FormatSpecifier.(Formatter.java:2874) 在 java.base/java.util.Formatter.parse(Formatter.java:2713) 在 java.base/java.util.Formatter.format(Formatter.java:2655) 在 java.base/java.io.PrintStream.format(PrintStream.java:1209) 在 java.base/java.io.PrintStream.printf(PrintStream.java:1105) 在 Average.print(Average.java:26) 在 AverageRunner.main(AverageRunner.java:17) ----jGRASP楔2:进程退出代码为1。 ----jGRASP:操作完成。
请帮忙
此外,它编译得很好,但在 main 方法中它不会运行。
【问题讨论】:
【参考方案1】:问题在于这一行:
System.out.printf("%.2d\n",average);
"%.2d\n" 是双精度格式错误的字符串。将其替换为“%.2f\n”
【讨论】:
谢谢!你是对的,由于代表 D 不能投票: 很高兴我能帮上忙!即使您无法投票,您也应该能够接受答案。编码愉快!以上是关于线程“main”中的异常 java.util.IllegalFormatPrecisionException: 2,试图修复格式但没有工作 jGRASP的主要内容,如果未能解决你的问题,请参考以下文章
我的代码上的线程“main”java.util.NoSuchElementException 中的异常?
如何修复运行时错误-线程“main”java.util.NoSuchElementException中的异常
HTTPClient 示例 - 线程“main”中的异常 java.lang.NoSuchFieldError: INSTANCE
为啥我在代码中的线程“main”java.lang.StringIndexOutOfBoundsException 错误中收到异常?
线程“main”中的 Java 异常 java.lang.StringIndexOutOfBoundsException 错误
线程“main”中的异常 java.lang.ExceptionInInitializerError (Clojure)