Java 是否可以在同一printf语句中使用打印字符串和双精度格式?非法格式转换异常
我想打印一个带有格式双精度的句子,而不必使用几个打印语句。以下是我试图表达的几个观点:Java 是否可以在同一printf语句中使用打印字符串和双精度格式?非法格式转换异常,java,printf,Java,Printf,我想打印一个带有格式双精度的句子,而不必使用几个打印语句。以下是我试图表达的几个观点: System.out.printf("( %.2f", real + ", %.2f", imaginary + ")"); System.out.printf("(" + "%.2f",real + ", " + "%.2f",imaginary + ")"); 然而,这是我得到的错误 java.util.IllegalFormatConversionException: f != java.
System.out.printf("( %.2f", real + ", %.2f", imaginary + ")");
System.out.printf("(" + "%.2f",real + ", " + "%.2f",imaginary + ")");
然而,这是我得到的错误
java.util.IllegalFormatConversionException: f != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.printFloat(Unknown Source)
at java.util.Formatter$FormatSpecifier.print(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at ComplexNumber.print(ComplexNumber.java:17)
at ComplexClient.main(ComplexClient.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
我只是错误地使用了printf语句吗?或者我想做的是不可能的?谢谢在格式字符串的构造中不要混入变量。您应该创建格式字符串作为第一个参数,然后传入所有变量。传入的变量数量必须与格式字符串中的占位符数量匹配,并且必须与占位符指定的格式匹配 尝试:
//
System.out.printf((.2f,%.2f)”,实部,虚部);
// ... 后面的变量在这里
这与匹配,它首先采用字符串
格式,然后是任意数量的对象
变量参数
// <- format ->
System.out.printf("( %.2f, %.2f)", real, imaginary);
// ... variables afterwards here