-7

我做了这个程序,但我需要用printf(). 我需要像 6.00 这样的小数点后有 2 位数字,它也应该四舍五入。我以前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

4

1 回答 1

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
于 2012-12-26T00:35:07.003 回答