有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用while循环和从用户接收输入来近似Pi?

这是我高中comp-sci实验室的第一部分,我想知道我是否能得到一些关于为什么它不工作以及如何修复它的信息

“德国数学家戈特弗里德·莱布尼茨发展了以下方法来近似PI值:

Pi的逼近 第1部分: 编写一个程序,允许用户指定此近似中使用的迭代次数,并显示结果值。使用while循环来完成这一点

样本输出:

您希望进行多少次迭代:1000次

pi:3.140592653839794“

这是我目前拥有的代码。它运行不正常,我也不知道为什么或如何修复它。现在我只是想得到我的输出,样本的输出。谢谢!

//define
    Scanner scnr = new Scanner(System.in);
    double pi = 0.0; 
    double n = 0.0; //number of the term starting from 0
    
    System.out.println("How many iterations would you like to do: ");
    n = scnr.nextInt();

    while (n <= n+1) {
        pi = (Math.pow(-1,n) * 4.0) / (2.0 * n + 1);
        
        System.out.println("pi: " + pi);

共 (1) 个答案

  1. # 1 楼答案

    这应该可以做到:)

            Scanner scnr = new Scanner(System.in);
            double pi = 0.0; 
        
            System.out.println("How many iterations would you like to do: ");
            int n = scnr.nextInt();
            
            int i = 0;
            while (i < n) {
                
                pi += (Math.pow(-1,i) * 4.0) / (2.0 * i + 1);
                
                System.out.println("pi: " + pi);
                i++;
            }