Pi计算器输出0

时间:2014-09-03 21:31:52

标签: java

我正在为练习建立一系列小程序。我正在构建一个Pi计算器来练习数字。但是,当我运行程序时,结果为零。没有错误被抛出。很可能答案是显而易见的,我最终会撞到墙上。

import java.math.BigDecimal;

public class FindPi {

    public static void main(String[] args) {

        BigDecimal answer = new BigDecimal(0);
        BigDecimal counts = new BigDecimal(5);
        BigDecimal two = new BigDecimal(2);
        for (BigDecimal k = new BigDecimal(0); k.compareTo(counts) <= 0; k = k.add(BigDecimal.ONE)) {
            BigDecimal a = k.add(BigDecimal.ONE);
            BigDecimal b = factorial(BigDecimal.ONE.add(k.multiply(two)));
            BigDecimal d = a.divide(b, 10, BigDecimal.ROUND_DOWN);
            answer = answer.add(d);
        }
        System.out.println(answer);
    }

    public static BigDecimal factorial(BigDecimal n) {
        BigDecimal fact = new BigDecimal(1);
        for (BigDecimal x = n; x.compareTo(BigDecimal.ONE) > 0; x = x.subtract(BigDecimal.ONE)) {
            fact = fact.multiply(x);
        }
        return fact;
    }
}

1 个答案:

答案 0 :(得分:1)

原来问题是我的IDE,而不是我的代码,在eclipse中运行它不确定为什么它不起作用,但我认为是时候再见Netbeans了。