Java Pi数计算得出3.22

Java Pi数计算得出3.22,java,pi,Java,Pi,我试着用这个公式来计算π数: pi/4=1-1/3+1/5-1/7+1/9 public class Calculator { double process=1; double piValue=0; int approximation; double value; public Calculator( int precision) { approximation = precision; } public void calculate() {

我试着用这个公式来计算π数: pi/4=1-1/3+1/5-1/7+1/9

   public class Calculator
{
  double process=1;
  double piValue=0;
  int approximation;
  double value;
  public Calculator( int precision)
  {
    approximation = precision;
  }

  public void calculate()
  {
    while(process<=approximation)
    {
      value = 1/(process+2);
      if(process%2==0)
      {
        value = value;
      }
      else
      {
        value = value * (-1);
      }
      piValue = piValue + value;
      process++;
    }
    System.out.println((1+piValue)*4.0);

  }
}
因此,当“步数”变为无穷大时,其极限约为3.22。我如何解决这个问题

我刚刚开始学习Java,请记住这一点


提前谢谢

当在
循环期间在
顶部计算
值时,您对
过程的使用不正确;你会计算出-1/3+1/4-1/5+

而不是

value = 1/(process+2);
试一试

现在,这将通过以
3
开头的奇数推进分母,这是可以的,因为您在最后添加了
1


通过这个变化和1501个循环,我得到了
3.1409268747021875
——对于这种计算pi的方法来说非常接近。(100000个循环打印
3.141602653489781

如果除以1、3、5、7。。。它应该是
1/(进程*2-1)
,而不是
1/(进程+2)
如果(进程%2==0){value=value;?@Auberon
process
在循环中增加一次,而不是两次,那么它背后的想法是什么。@Auberon clearity?你在开玩笑吗?@Xoce웃Пepeúpa确定阶跃是偶数还是奇数。
value = 1/(process+2);
value = 1/(2*process + 1);