圆周率的求出如何用Java实现

请给出编程语句,结果精确到小数点后100位
谢谢指点

第1个回答  推荐于2016-03-02
如果你真的想要那样的精度,请执行下面的程序,再等上几个小时
import java.math.*;
public class ForPI {

//PI=4*(1-1/3+1/5-1/7...)
public static String forPI(int a){

BigDecimal result,index,temp,flag,b,c;
b=new BigDecimal(1,new MathContext(a,RoundingMode.HALF_UP));//分子
c=new BigDecimal(2);//增量
result=new BigDecimal(0,new MathContext(a,RoundingMode.HALF_UP));
index=new BigDecimal(1);//分母
temp=new BigDecimal(1,new MathContext(a,RoundingMode.HALF_UP));
flag=new BigDecimal(0.1);
flag=flag.pow(a);//精度
while(temp.abs().compareTo(flag)==1){
temp=b.divide(index);
result.add(temp);
index.add(c);
index=index.negate();
}
result=result.multiply(new BigDecimal(4));
return result.toPlainString();

}

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(forPI(100));

}

}本回答被提问者采纳

java如何获取圆周率的值?
在java中,圆周率常量π被定义在java.lang.Math类中。可以使用Math.PI();这个方法获得π的值:3.141592653589793

用Java计算圆周率
代码如下:\/\/圆周率 π = 4∑(k=0,..∞)(-1)^k\/(2k+1)\/\/π = 3.14159265358979323846 public class yzq { public static void main(String[] args) { \/\/ TODO Auto-generated method stub int n=0;double a=0;for (n=0;n<=10000000;n++ ){ a = a + 4*Math.pow(-1,n)\/(...

圆周率的求出如何用Java实现
import java.math.*;public class ForPI { \/\/PI=4*(1-1\/3+1\/5-1\/7...)public static String forPI(int a){ BigDecimal result,index,temp,flag,b,c;b=new BigDecimal(1,new MathContext(a,RoundingMode.HALF_UP));\/\/分子 c=new BigDecimal(2);\/\/增量 result=new BigDecimal(0,new ...

用莱布尼兹公式求π的值java源代码
代码如下:\/\/圆周率 π = 4∑(k=0,..∞)(-1)^k\/(2k+1)\/\/π = 3.14159265358979323846 public class yzq { public static void main(String[] args) { \/\/ TODO Auto-generated method stub

java中π怎么表示?用什么方法?
java中π用Math.PI表示,圆周率常量π被定义在java.lang.Math类中。输出:3.141592653589793 代码如下:PI (π)的源码如下:\/ The {@code double} value that is closer than any other to pi, the ratio of the circumference of a circle to its diameter.\/ public static final double PI ...

用java计算圆周率 PI=4-4\/3+4\/5-4\/7... 打印出第一个大于 3.1415小于 3....
我感觉这样优化点简单点 public class PI { public static void main(String[] args){ double p=0;double n=1;while(p<=3.1415||p>=3.1416){ p-=(4\/(2*n-1))*(Math.pow(-1,n));n++;} System.out.println("圆周率是:"+p);} } ...

java编写一个计算圆周率π的近似值π=4*(1-1\/3+1\/5-1\/7+1\/9-1\/11+...
public class MyPi {public static void main(String[] args) {\/\/ TODO Auto-generated method stubint max = 1000;double item = 0;double sum = 0;int flag = -1;for (int n = 0; n <= max; n++) {flag *= -1;item = flag * 1.0 \/ (2 * n + 1);sum += item;}...

java中用while循环语句求圆周率编程
} } public static void main ( String[] args ) { \/\/ 递归法(俗称智商法) System.out.println (forrnula (1000)); \/\/ while法(俗称笨蛋法) double sum = 4; long n = 2; while (n < 1001){ sum += 4.d \/ ( 2 * n - 1 ) * Math.pow (...

java编程 格力高力公式求圆周率,要求最后一项的公式小于0.0001
按照你的要求编写的求圆周率的Java程序如下 public class A { public static void main(String[] args) { double m=1; double sum=0; int i=1; int t=1; while(m>=0.0001){ sum=sum+t*m; m=1.0\/(2*i+1); t=t*(-1); i++; } System.out.println(...

用java 编写一个程序,要求输入圆的半径,求圆的周长,面积.
实现思路:输入一个半径的值,之后即可求出周长和面积:代码举例:import javax.swing.JOptionPane;class account { public static void main(String[] args){ String radiusString = JOptionPane.showInputDialog(null ,"请输入半径 : " , "计算" , JOptionPane.QUESTION_MESSAGE);double radius = ...

相似回答