我想做一个平均两个数字的程序。
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);
}
}
这是出现的错误,我认为这是由于格式。
线程“main”java.util.illegalformatprecisionexception中的异常:2位于java.base/java.util.formatter$formatspecifier.checkinteger(格式化程序)。java:3138)在java.base/java.util.formatter$formatspecifier中。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)平均。打印(平均。java:26)在averagerunner.main(averagerunner。java:17)----jgrasp wedge2:进程的退出代码为1----jgrasp:操作完成。
请帮忙。
而且,它编译得很好,但是在main方法中它不会运行。
1条答案
按热度按时间mfpqipee1#
问题在于这一行:
“%.2d\n”是double的格式错误的字符串。替换为“%.2f\n”