“Java控制台打印输出”;“无限”;无限次而不是价值?

“Java控制台打印输出”;“无限”;无限次而不是价值?,java,loops,exception,console,Java,Loops,Exception,Console,我正在尝试制作一个程序,用莱布尼兹方程作为pi day的属性来估计pi,但是控制台没有打印出我想要的估计pi值,而是打印出无限次的“无限”,直到我终止执行。我非常非常困惑,需要帮助! 代码: import java.util.Scanner; 班长{ 公共静态void main(字符串[]args){ //为了庆祝圆周率日,我制作了这个程序,用莱布尼兹公式计算圆周率 System.out.println(“输入您想要的迭代次数:”); 双重估计DPI=0; 扫描仪输入=新扫描仪(System.i

我正在尝试制作一个程序,用莱布尼兹方程作为pi day的属性来估计pi,但是控制台没有打印出我想要的估计pi值,而是打印出无限次的“无限”,直到我终止执行。我非常非常困惑,需要帮助! 代码:

import java.util.Scanner;
班长{
公共静态void main(字符串[]args){
//为了庆祝圆周率日,我制作了这个程序,用莱布尼兹公式计算圆周率
System.out.println(“输入您想要的迭代次数:”);
双重估计DPI=0;
扫描仪输入=新扫描仪(System.in);
双迭代=input.nextDouble();
双分母=1;

for(int i=0;0您的for循环条件是错误的,它应该是for(int i=0;i

你用了
(inti=0;0
System.out.println(“Happy”+Math.PI+“day”);
@ElliottFrisch那没用,伙计:(您的代码试图近似Java提供的常量。不要除以零。想不出获得无穷大的另一个原因。请尝试调试器。嗯,我目前正在一个名为repl.it的网站上编写代码。如何使用调试器?我可以问一下,为什么迭代次数是双次而不是长次吗?
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);
    }
  }
}
public 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; i < 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);
        }
    }
}