Java Pi数计算得出3.22
我试着用这个公式来计算π数: pi/4=1-1/3+1/5-1/7+1/9Java 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() {
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;?@Auberonprocess
在循环中增加一次,而不是两次,那么它背后的想法是什么。@Auberon clearity?你在开玩笑吗?@Xoce웃Пepeúpa确定阶跃是偶数还是奇数。
value = 1/(process+2);
value = 1/(2*process + 1);