gpt4 book ai didi

java.util.IllegalFormatConversionException 与 java.util.Formatter

转载 作者:行者123 更新时间:2023-12-04 20:45:19 36 4
gpt4 key购买 nike

我在使用格式说明符时遇到问题。这是否意味着我正在使用 %d?

public static void main(String[] args) 
{
double y, x;

for (x = 1.0; x <= 7.0; x+=0.1)
{
y = x * x - 5 * x + 6;
System.out.printf("x = "+x+", y = %d", y);
System.out.printf("\n");
}

}

这就是代码,这是输出:

Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.Double
x = 1.0, y = at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4045)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2748)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2702)
at java.util.Formatter.format(Formatter.java:2488)
at java.io.PrintStream.format(PrintStream.java:970)
at java.io.PrintStream.printf(PrintStream.java:871)
at wilson_hw03a.java.Wilson_hw03aJava.main(Wilson_hw03aJava.java:15)

Java Result: 1

我究竟做错了什么?更好的是,错误是什么?

最佳答案

我刚刚注意到另一个问题。 double 的格式说明符是 %f 而不是 %d。它还可能导致 FormatSpecifier 错误。

public static void main(String[] args) {
double y, x;
for (x = 1.0; x <= 7.0; x += 0.1) {
y = x * x - 5 * x + 6;
System.out.printf("x = %f, y = %f", x, y); // or
System.out.printf("x = %f, y = %f%n", x, y);
}
}

关于java.util.IllegalFormatConversionException 与 java.util.Formatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32939650/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com