标题:关于求PI的问题
只看楼主
枫xby
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:82
专家分:371
注 册:2014-10-19
结帖率:71.43%
已结贴  问题点数:20 回复次数:3 
关于求PI的问题
编写程序,显示i=10000,20000,,,,,,100000是PI的值,以下是我编的 我刚学java 是不是我函数用错了 输出都是4.0 ,(原谅我这渣渣问这样的题 ,求大神指导)
public class ClculatePi {
    public static void main(String[] args){
        for(int n=10000;n<=100000;n+=10000)
            System.out.println("The value of PI is "+compute(n));
    }
    public static double compute(int i){
        double result;
        double temp=0;
        for(int j=0;j<=i;j++){
            if(j%2==0)
                temp=temp+1/(2*j+1);
            else
                temp=temp-1/(2*j+1);}
            
            result = 4*temp;
            return result;
            }
}
搜索更多相关主题的帖子: 编写程序 public double result 学java 
2015-03-20 22:03
日知己所无
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:38
帖 子:427
专家分:2071
注 册:2014-3-22
得分:20 
原来的代码:temp=temp+1/(2*j+1);
修改后的代码:temp = temp + 1 / (2.0 * j + 1);
修改的理由:让所有参与运算的数据都按照浮点数来运算,原来一直都被取整了

程序代码:
public class CalculatePi {
    public static void main(String[] args) {
        for (int n = 10000; n <= 100000; n += 10000)
            System.out.println("The value of PI is " + compute(n));
    }

    public static double compute(int i) {
        double result;
        double temp = 0;
        for (int j = 0; j <= i; j++) {
            if (j % 2 == 0) {
                temp = temp + 1 / (2.0 * j + 1);
            } else {
                temp = temp - 1 / (2.0 * j + 1);
            }
        }

        result = 4 * temp;
        return result;
    }
}


程序代码:
The value of PI is 3.1416926435905346
The value of PI is 3.1416426510898874
The value of PI is 3.141625985812036
The value of PI is 3.1416176529648063
The value of PI is 3.141612653189785
The value of PI is 3.14160931997866
The value of PI is 3.1416069390999732
The value of PI is 3.1416051534335008
The value of PI is 3.1416037645773898
The value of PI is 3.1416026534897203
2015-03-21 12:09
日知己所无
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:38
帖 子:427
专家分:2071
注 册:2014-3-22
得分:0 
PI的相对比较精确的数值可以在下面的网站上查取
http://www.

咱们自己写的程序,就目前的计算精度来看,还是很低的

怎么也得超过一千五百多年前的祖冲之的3.1415926和3.1415927之间啊
http://2.im.

或者至少得把山间一寺一壶酒表达出来
2015-03-21 12:19
枫xby
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:82
专家分:371
注 册:2014-10-19
得分:0 
回复 3楼 日知己所无
非常感谢
2015-03-21 21:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-442874-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021796 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved