【发布时间】:2020-03-15 03:42:46
【问题描述】:
我正在尝试制作一个程序,用莱布尼茨方程作为 pi day 的属性来估计 pi,但是不是打印出我想要控制台的估计 pi 值,而是无限次打印出“无穷大”,直到我终止执行。我很困惑,需要帮助! 代码:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
//in order to celebrate pi day I have made this program that calculates pi with the Leibniz Formula
System.out.println("enter the number of iterations you want:");
double EstimatedPi=0;
Scanner input= new Scanner(System.in);
double iterations=input.nextDouble();
double denominator = 1;
for(int i=0;0<iterations;i++){
if(i%2 == 0){
EstimatedPi=EstimatedPi + (1/denominator);
}
else{
EstimatedPi=EstimatedPi-(1/denominator);
}
denominator=denominator+2;
EstimatedPi=EstimatedPi*4;
System.out.println(EstimatedPi);
}
}
}
我不认为我在整个程序中除以零! 莱布尼茨公式: https://en.wikipedia.org/wiki/Leibniz_formula_for_π 控制台截图: screenshot 链接到我的 repl 项目: https://repl.it/@HarryPengRHS/Determining-the-value-of-pi-pi-day-attribute
【问题讨论】:
-
System.out.println("Happy " + Math.PI + " day"); -
@ElliottFrisch 没用的人 :(
-
您的代码正试图逼近 Java 提供的常量。不要除以零。想不出另一个你会得到无穷大的原因。试试调试器。
-
嗯,我目前正在一个名为 repl.it 的网站上编码,如何使用调试器?
-
请问为什么迭代是双倍而不是长周期?
标签: java loops exception console