Java System.out行未正确执行

The*_*ech 1 java printf system.out

我的System.out Java行未正确执行,因此导致它们在一行上打印每行的一半.我不确定这里有什么问题.根据我的说明,他们似乎看起来没问题.有什么想法吗?

码:

System.out.printf("The circumference of a circle with radius ", radius,  " is: ", circumference, ".\n");
System.out.printf("The area of a circle with radius ", radius, " is: ", areacircle, ".\n");
System.out.printf("The area of a sphere with radius ", radius, " is: ", areasphere, ".\n");
System.out.printf("The volume of a sphere with radius ", radius, " is: ", volumesphere, ".\n");
Run Code Online (Sandbox Code Playgroud)

输出:

输入半径:2.5具有半径的圆的圆周具有半径的圆的面积具有半径的球的面积具有半径的圆的体积

Hov*_*els 6

你没有正确使用printf.这个:

System.out.printf("The circumference of a circle with radius ", radius,  " is: ", circumference, ".\n");
Run Code Online (Sandbox Code Playgroud)

应该:

System.out.printf("The circumference of a circle with radius %.2f is: %.2f%n", 
     radius, circumference);
Run Code Online (Sandbox Code Playgroud)

其中,%f浮点数(可能是此处加倍)的占位符值.printf背后的整个想法是避免你在代码中做的丑陋的字符串连接.请注意,您应该%n在printf和类似代码中使用end行,而不是\n.

有关更多详细信息,您需要查看java.util.Formatter类的api .