圆周率算法JAVA代码 圆周率算法java代码是什么

java函数算圆周率怎么弄啊

public class PIUtil {

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了当涂免费建站欢迎大家使用!

public double PI;

private static double getPI() {

double arctan1 = 16 * Math.atan(1 / 5);

double arctan2 = 4 * Math.atan(1 / 239);

return arctan1 - arctan2;

}

}

但是我觉得没什么用

如果想要计算圆周率可以用下面的

double pi = 1;

double infinite = 1;

//1000 数值越大越精确

for (int i = 0; i  1000; i++) {

infinite = (infinite  0 ? infinite - 2 : infinite + 2) * -1;

pi = pi + 1 / infinite;

}

pi = pi * 4;

System.out.println(pi);

java圆周率计算

原理:根据圆面积的公式:s=πR2,当R=1时,S=π。由于圆的方程是:x^2+y^2=1(x^2为X的平方的意思),因此1/4圆面积为x轴、y轴和上述方程所包围的部分。如果在1*1的矩形中均匀地落入随机点,则落入1/4园中的点的概率就是1/4圆的面积。其4倍,就是圆面积。由于半径为1,该面积的值为π的值。程序如下:importjava.util.Random;publicclasspai{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubintN=100000;/*定义随机点数*/intn=0,i,resulttimes;doubler;doublex,y;/*坐标*/Randoms=newRandom();for(resulttimes=0;resulttimes10;resulttimes++){/*输出十次结果*/for(i=1;i=N;i++){x=s.nextDouble();/*在0~1之间产生一个随机x坐标*/y=s.nextDouble();/*在0~1之间产生一个随机y坐标*/if(x*x+y*y=1.0)n++;/*统计落入单位圆中的点数*/}r=(double)n/N;System.out.println("Theresultofpaiis"+r*4);/*计算出π的值*/n=0;}}}

java编写一个计算圆周率π的近似值π=4*(1-1/3+1/5-1/7+1/9-1/11+....)

import java.io.*;

public class Pi

{

public static void main(String[] args)

{

final int max=1000;

double item=0;

double sum=0;

int flag=-1;

int n=0;

for(n=0;n=max;n++)

{

flag*=-1;

item=flag*1.0/(2*n+1);

sum += item;

}

System.out.println(4*sum);

}

}

终于申诉成功~~~

Java求圆周率

这里面有类型转换的问题,如果你用1,那1/a-1/(a+2)这个算式出来的是int类型,如果是1.0那就是double类型

java运算中,如何引入π进行计算(希望能附上例子)?

Java中Math.PI就表示π。其源码为public static final double PI = 3.14159265358979323846。

比如说你要算半径为2的圆的面积,代码如下:

double pi=Math.PI

int r=2

double S=pi*r*r

运行结果如下图

扩展资料

package 计算π的近似值;

import java.util.Scanner;

public class Example1 {

public static void main(String[] args) {

Scanner scan=new Scanner(System.in);

System.out.println("请输入精度:");

double z=scan.nextDouble();

System.out.println("在精度为"+z+"的条件下,π约等于:\n"+jishuPI(z));

}

static double jishuPI(double z){

double sum=2;

int n=1;

int m=3;

double t=2;

while(tz){

t=t*n/m;

sum=sum+t;

n++;

m+=2;

}

return sum;

}

}

参考资料:Java官网 API-Class Math

JAVA 求圆周率

建议你这样试试看:

我们分析下题目,考虑一下容易忽略的地方

然后我们将公式转化为如下代码:

package cn.com.baidu.zhidaoquestion.pi;

public class StrivesForThePI {

public static void main(String[] args) {

System.out.println("jdk的API中提供的π = "+Math.PI);

//arctg()函数参数x;

double x = 1;

//验证 π/4 = arctg(1);

double qtrPI = strives(x);

//求π并输出

System.out.println("π = " + 4*qtrPI);

}

/**

 * 求解函数

 * @return double s

 */

public static double strives(double x){

int i = 1 ;

double n = 1, d = 0.000001,s = 0,sTmp = 1;

double errorRange =  ssTmp?s-sTmp:sTmp-s;

while(errorRange  d){//误差控制,由s和sTemp的差决定误差 ,

//如果i=偶数  i = (-1)*i

if(i%2==0){

n = (-1);

}else{

n = 1;

}

//保存中间值,计算误差使用

sTmp = s;

//计算Arg

s = s + n*((double)x/(2*i-1));

//误差范围 排除第一项

if(i!=1){

errorRange = ssTmp?s-sTmp:sTmp-s;

}

i++;

}

System.out.println("误差为:"+errorRange);

if(x==1){

System.out.println("π/4 = " + s);

}

return s;

}

}

这样做的好处:思路清晰,注释明了

注意事项:这个并不是唯一的答案,还可以优化,欢迎大家自由讨论.

如有帮助,感谢你的采纳!


当前标题:圆周率算法JAVA代码 圆周率算法java代码是什么
标题链接:http://pwwzsj.com/article/hipgeh.html