java - 线程“main”中的异常 java.util.IllegalFormatPrecisionException: 2,试图修复格式但没有工作 jGRASP
问题描述
我正在尝试制作一个平均两个数字的程序。
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.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 方法中它不会运行。
解决方案
问题在于这一行:
System.out.printf("%.2d\n",average);
"%.2d\n" 是双精度格式错误的字符串。将其替换为“%.2f\n”
推荐阅读
- java - 在文件路径中找不到 Futronic sdk ftscanapi 库
- scala - 如何在多模块 gradle 项目中仅编译已更改(或相关)的模块
- python - Python-3.x:如何在等列中打印多个列表?
- sql - SQL Server:使用大小写设置变量
- animation - 应用程序启动后如何为小部件设置动画
- bootstrap-table - Bootstrap,仅用于指定列的表剥离类
- visual-studio-code - Cake Build-如何解决“MSBUILD:错误MSB1009:项目文件不存在。”
- oracle - 处理 BPEL 2.0 转换中的元素列表的问题
- laravel - Laravel黄昏滚动和waitFor动态元素
- javascript - 嵌套 for 循环 - 对象和数组中字符串的输出顺序