当前位置: 首页 > 面试题库 >

计算Pi Java程序

卢子民
2023-03-14
问题内容

我正在上我的第一门Java编程课,这是我的一流项目。我对如何处理感到困惑。任何帮助或纠正将不胜感激。

您可以通过使用以下序列来近似常量PI的值:

PI = 4 ( 1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ... + ( (-1)^(i+1) )/ (2i - 1) )

提示用户输入i的值(换言之,使用该系列中的多少项)来计算PI。例如,如果用户输入10000,则求和该系列的前10,000个元素,然后显示结果。

除了显示最终结果(您的PI的最终近似值)外,我还希望您沿中间结果以每10次幂计算的方式显示。因此,将10、100、1000、10000等以此类推,在屏幕上显示近似值PI的数量等于该元素的总和。

这是我到目前为止所做的..

import java.util.Scanner;
        public class CalculatePI {

            public static void main(String[] args) {
                // Create a Scanner object
                Scanner input = new Scanner (System.in);

                // Prompt the user to enter input
                System.out.println("Enter number of terms");
                double i = input.nextDouble(); // value of i user entered
                    double sum = 0;
                for(i=0; i<10000; i++){
                           if(i%2 == 0) // if the remainder of `i/2` is 0
                           sum += -1 / ( 2 * i - 1);
                        else
                           sum += 1 / (2 * i - 1);
    }

                        System.out.println(sum);


    }
}

问题答案:

我看到的第一件事是您尝试从您的void main方法中返回一个值。

不要return pi;从你的主要方法。打印它。

System.out.println(pi);

其次,当人们编写for循环时,他们通常会遍历i,这可能与i您的教授在公式中所指的相同

for(double i=0; i<SomeNumber; i++)
{
    sum += ((-1)^(i+1)) / (2 * i - 1) );
}

现在,它不能按原样正常工作,您仍然必须处理^Java本身不使用的。幸运的是,它-1^(i+1)是一个交替数字,因此您可以使用一个if语句

for(double i=0; i<SomeNumber; i++)
{
    if(i%2 == 0) // if the remainder of `i/2` is 0
        sum += -1 / ( 2 * i - 1);
    else
        sum += 1 / (2 * i - 1);
}


 类似资料:
  • 我正在使用Hibernate作为ORM进行Java EE项目,我已经到了一个阶段,我必须在我的类上执行一些数学计算,比如和、计数、加法和除法。 我有两个解决方案: 选择我的类并在代码中以编程方式应用这些操作 对命名查询进行计算

  • 请输入学生人数:3请输入考试次数:3输入学生1的姓名:sam输入考试分数:80 80 80字母等级:F sam得0星! 显然三个80首先应该是一个B,所以我显然没有计算好平均数,但我想不出为什么。

  • 本文向大家介绍C# WinForm程序设计简单计算器,包括了C# WinForm程序设计简单计算器的使用技巧和注意事项,需要的朋友参考一下 一个简单的计算器的例子,在这个小程序中我们需要用到的组件有: Button:点击计算 TextBox:输出要运算的数 RadioButton:选择运算类型 GroupBox:绑定RadioButton 首先我们在界面上拖以上的控件,得到如下界面: 这时候监听计

  • 计算机编程是编写计算机程序的行为,计算机程序是使用计算机程序设计语言编写的指令序列,以通过计算机执行指定的任务。

  • 为什么单线程和多线程脚本具有相同的处理时间?多线程实现不是应该少1/#线程数吗?(我知道当您达到最大cpu线程时,回报会递减) 我搞砸了我的实现吗?

  • 我有这个模式 列表表 [{“movie_id”:100,“gene1”:“犯罪”,“计数”:1,“id”:100},{“movie_id”:141267,“gene1”:“犯罪”,“计数”:1,“id”:141267},{“movie_id”:207932,“gene1”:“犯罪”,“计数”:1,“id”:207932},{“movie_id”:238636,“gene1”:“惊悚”,“计数”:1