完整代码如下:
byte a;
int b;
float c;
double d;
Scanner reader = new Scanner(System.in);
a = reader.nextByte();
b = reader.nextInt();
c = reader.nextFloat();
d = reader.nextDouble();
System.out.printf(" a = % d, b = % 4 d, c = % 5.2 f, d = % f \n",a,b,c,d);
在控制台输入字符后报错
10 20 123.456 3.1111
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = ' '
at java.util.Formatter.checkText(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at one.ThirdD.main(ThirdD.java:19)
解决办法就是将第十行删掉重新打,同时去掉了空格,然后就运行出来了……(迷之玄学
System.out.printf("a=%d,b=%4d,c=%5.2f,d=%f\n",a,b,c,d);
10 20 123.456 3.1111
输出结果:
a=10,b= 20,c=123.46,d=3.111100