我目前正在学习 Java,我的一项任务是使用教授给我们的某个公式来近似 pi,我们必须使用 for 循环。方向对我来说不是很清楚,但我的程序非常接近,但我无法弄清楚为什么 pi 的值很接近,但不是每个间隔应该是什么。
这是我执行该程序的说明:
(计算 π)您可以使用以下公式近似 π:pi += sign / (2 * i - 1.0); 其中 i 是 for 循环中变量的名称,pi 是 π 的变量名称,sign 在声明时的初始值为 1,并且在 for 循环中设置为等于自身的负数。确保使用 for 循环 > 进行此分配。当 i 小于或等于 100000 时,for 循环的起始值应为 2,结束值应 >。如果 pi 除以 10000 的值为零,则 >pi 应为 (4 * pi)。
这是我想出的代码。
public class Ch4PA1
{
public static void main(String[] args) {
//Declarations
double pi = 1;
double sign = 1;
for (int i = 10000; i <= 100000; i += 10000)
{
pi = 3.14159265359;
sign = -2;
pi += sign / (2 * i - 1.0);
System.out.println("i : " + i + " The PI is " + pi);
}
}
}
我只是想不通我做错了什么,我已经在这个程序中休息了大约 10 个小时,结果只是让我感到沮丧,因为我想弄清楚它。