线程“main”java.util.illegalformatprecisionexception中出现异常:2,尝试修复格式,但jgrasp无效

5gfr0r5j  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(281)

我想做一个平均两个数字的程序。

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方法中它不会运行。

mfpqipee

mfpqipee1#

问题在于这一行:

System.out.printf("%.2d\n",average);

“%.2d\n”是double的格式错误的字符串。替换为“%.2f\n”

相关问题