试图计算Pi,但只得到1

时间:2017-04-25 20:32:24

标签: java pi

我还不熟悉Java,我试图在不使用Math.PI()的情况下计算出Pi。唯一的问题是我得到了答案" 1"之后。

这是我使用的公式。

    double pi = 1;
    boolean add = false;

    for(int i=3; i<1000; i += 2) {

        if(add) {
            pi += 1/i;
        } else {
            pi -= 1/i;
        }
        add = !add;
        System.out.println(pi);
    }
    System.out.println("pi: " + 4*pi);

我确定这只是我错过的一些愚蠢的错误。感谢

1 个答案:

答案 0 :(得分:1)

除以整数会产生整数。

1是一个整数。 i是一个整数。将结果除以整数。

1设为double。附加可选的浮点后缀dD

pi += 1.0d / i ;

此外,像我这样的一些人为了清晰起见包括括号,即使在像这样的情况下是可选的。

pi += ( 1.0d / i  ) ;