我正在为练习建立一系列小程序。我正在构建一个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;
}
}
答案 0 :(得分:1)
原来问题是我的IDE,而不是我的代码,在eclipse中运行它不确定为什么它不起作用,但我认为是时候再见Netbeans了。