Java 如何使用printf分隔多个十进制数字,并将所有这些数字四舍五入到小数点后2位
我想使用Java 如何使用printf分隔多个十进制数字,并将所有这些数字四舍五入到小数点后2位,java,printf,Java,Printf,我想使用printf来组织我的代码结果。我的代码的结果将有四个十进制数。所有这些数字必须四舍五入到小数点后两位,并组织在同一行中 我不知道如何使用printf,我只知道%.2f可以将我的答案四舍五入到小数点后两位,其余的我不知道怎么做 import java.util.Scanner; import java.text.DecimalFormat; import java.io.PrintWriter; public class CirclePoints { public static
printf
来组织我的代码结果。我的代码的结果将有四个十进制数。所有这些数字必须四舍五入到小数点后两位,并组织在同一行中
我不知道如何使用printf
,我只知道%.2f
可以将我的答案四舍五入到小数点后两位,其余的我不知道怎么做
import java.util.Scanner;
import java.text.DecimalFormat;
import java.io.PrintWriter;
public class CirclePoints
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Please enter the radius of your circle: ");
double radius = in.nextDouble();
double x = 1.0;
double z = x;
double absY;
double y1D;
double y2D;
double y1;
double y2;
System.out.println("Point on a circle with radius: " + radius);
//System.out.printf(); want to get something like (x y1 x y2) as the reult that can match the bottom
while(x >= -(z))
{
y1D = Math.sqrt((Math.pow(radius, 2) - Math.pow(x, 2)));
y2D = -(Math.sqrt((Math.pow(radius, 2) - Math.pow(x, 2))));
System.out.printf ("%.2f",x, y1D, y2D );
x = x-0.1;
}
}
}
实际输出应该是
x y1 x y2
1.00 0.00 1.00 0.00
0.90 0.44 0.90-0.44
-0.90 0.44 0.90-0.44
-1.00 0.00-1.00 0.00java中有4种不同的生成打印方法。默认情况下,
Java.lang
包已经导入到所有Java类中,所以系统类就在其中。其中三种打印方法前面都是System.out.
。它们是System.out.print
,System.out.println
,System.out.printf
。print
和println
之间没有区别,只是执行后,println
(打印行)转到新行。printf
被称为打印格式,这意味着我们可以使用%
字符来表示特殊情况。如%n
指示和%t
新选项卡<代码>%.2f带两个小数点的平均浮点值,将四舍五入到最接近的值
如上所述,第四种打印方法用于表示错误结果。语法应该是System.err
,而不是System.out
。与正常的out.print
方法和这些err.print
方法没有区别,但输出为红色
对于您的代码更改
System.out.printf(“%.2f”,x,y1D,y2D)代码>到
System.out.printf(“%.2f%.2f%.2f%.2f%.2f%n”,x,y1D,x,y2D)代码>当用户输入等于1时,应显示此结果。很抱歉在问题中没有这么说。我真的很感谢你的帮助,但是当我尝试你所说的改变我的代码时,我运行它时它只显示了第一个x。我还忘了放另一个x,它应该在y1D和y2D之间。使用“while”循环的目的是什么?要运行10倍的代码吗?我希望它只要在x和-x之间就可以运行。例如,如果x等于1,那么它应该给出输出1.00、0.90、0.80-0.80,-0.90,-1.00试试这个System.out.printf(“%.2f%.2f%.2f%.2f%.2f%n”,x,y1D,x,y2D);