我需要在printf中打印这个

时间:2012-12-26 00:33:08

标签: java

我完成了该程序,但我需要使用printf()进行打印。我需要在小数点之后有2位数字,如6.00,它也应该四舍五入。我只是试用了println()

    public static void main(String[ ] args)
    {
        double[ ] x = {1.0, 0.90, 0.80, 0.70, 0.60, 0.50, 0.40, 0.30, 0.20, 0.10, 0.00, -0.10, -0.20, -0.30, -0.40, -0.50, -0.60, -0.70, -0.80, -0.90, -1.00};
        double r = 1;
        for (int i = 0; i <= 20; i++) {
                System.out.println(x[i]);
        }
        for(int i=0;i<21;i++) {     
              double y = Math.sqrt(Math.pow(r, 2)- Math.pow(x[i], 2));
              System.out.println("");
              System.out.println(y);
        }
    }

以下是排队方式:http://i.stack.imgur.com/7atLn.png

1 个答案:

答案 0 :(得分:3)

尝试使用

System.out.printf("%.2f%n", x[i]);

编辑以下是另一个想法,基于您想要的输出:

double[] x = { 1.0, 0.90, 0.80, 0.70, 0.60, 0.50, 0.40, 0.30, 0.20,
           0.10, 0.00, -0.10, -0.20, -0.30, -0.40, -0.50, -0.60, -0.70,
           -0.80, -0.90, -1.00 };

double r = 1;

for (int i = 0; i < x.length; i++) {
    double y = Math.sqrt(Math.pow(r, 2) - Math.pow(x[i], 2));
    System.out.printf("%10.2f%10.2f%n", x[i], y);
}
      1.00      0.00
      0.90      0.44
      0.80      0.60
      0.70      0.71
      0.60      0.80
      0.50      0.87
      0.40      0.92
      0.30      0.95
      0.20      0.98
      0.10      0.99
      0.00      1.00
     -0.10      0.99
     -0.20      0.98