当前位置:首页 » 编程语言 » 圆周率java

圆周率java

发布时间: 2022-04-25 12:05:20

❶ 用java计算圆周率 PI=4-4/3+4/5-4/7....... 打印出第一个大于 3.1415小于 3.1416的值

我感觉这样优化点简单点

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算圆周率的代码,看看我写的哪里错了

public class PIDemo { //类名称不要用中文
public static void main(String[] args) {
int i=1,f=-1;
float sum=0.0f,num=1.0f; //sum初始值应该为0
while (Math.abs(num)>0.00001) {
f=-f;
num=f*1.0f/(2*i-1);
sum+=4*num; //这里应该是"+="而不是"=+",注意还要乘以4,将语句下调到这里
i++; //变量i要自增
}
System.out.println(sum);
}
}

输出结果:3.1416159

PS:你还有一个很不好的习惯:类名称不要用中文!!!

❸ java中π怎么表示, 是直接用π吗还是有别的变量代替

java中π用Math.PI表示,圆周率常量π被定义在java.lang.Math类中。输出:3.141592653589793

代码如下:

PI (π)的源码如下:

/**

* The {@code double} value that is closer than any other to

* <i>pi</i>, the ratio of the circumference of a circle to its

* diameter.

*/

public static final double PI = 3.14159265358979323846;

(3)圆周率java扩展阅读:

Java Math 类包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。

Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。

比较常见的还有一个底数e,在java Math中表示如下:

public static final double E = 2.7182818284590452354;

Orcale官方API接口-Class Math



❹ Java中圆周率如何表示

import java.math.*
Math类定义了好多常量,如Math.PI等

❺ 用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)/(2*n+1);
System.out.println("第 "+n+"

"+a);
}

System.out.println("最后一位
"+a);

}
}

//程序运行结果

//第10
次计算

3.232315809405594
//第100
次计算

3.1514934010709914
//第1000
次计算
3.1425916543395442
//第10,000
次计算
3.1416926435905346
//第100,000
次计算
3.1416026534897203
//第1000,000
次计算
3.1415936535887745
//第10,000,000次计算
3.1415927535897814

//第100,000,000次计算
3.141592643589326

//第999,999,990次计算

3.1415926545880506
//第999,999,991次计算
3.1415926525880504
//第999,999,992次计算

3.1415926545880506
//第999,999,993次计算
3.1415926525880504
//第999,999,994次计算
3.1415926545880506
//第999,999,995次计算
3.1415926525880504
//第999,999,996次计算
3.1415926545880506
//第999,999,997次计算
3.1415926525880504
//第999,999,998次计算
3.1415926545880506
//第999,999,999次计算
3.1415926525880504
//第1,000,000,000次计算
3.1415926545880506

❻ java 圆周率。

圆周率的算法

PI=(1-1/3+1/5-1/7+1/9……)*4循环次数越多,精确度越高

像你说的要计算 10000 位小数,普通的算法是无法满足的,一般需要大型计算机

参考代码:

public class Test1 {
public static void main(String args[]) {
long time = System.currentTimeMillis();
Pi pi = new Pi(200000000);
pi.comput();
System.out.println(pi.getPi());
System.out.println("消耗时间>>" + (System.currentTimeMillis() - time));
}
}
class Pi {
private double pi;
private int count;
public Pi() {
}
public Pi(int count) {
this.count = count;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public double getPi() {
return pi;
}
public void comput() {
pi = 1;
int max = count * 2 + 1;
for (int i = 3; i <= max; i = i + 4) {
pi -= 1d / i;
}
for (int i = 5; i <= max; i = i + 4) {
pi += 1d / i;
}
pi *= 4;
}
}

❼ JAVA 求圆周率

建议你这样试试看:

  1. 我们分析下题目,考虑一下容易忽略的地方
  2. 然后我们将公式转化为如下代码:
  3. packagecn.com..question.pi;

    publicclassStrivesForThePI{
    publicstaticvoidmain(String[]args){
    System.out.println("jdk的API中提供的π="+Math.PI);
    //arctg()函数参数x;
    doublex=1;
    //验证π/4=arctg(1);
    doubleqtrPI=strives(x);
    //求π并输出
    System.out.println("π="+4*qtrPI);
    }

    /**
    *求解函数
    *@returndoubles
    */
    publicstaticdoublestrives(doublex){
    inti=1;
    doublen=1,d=0.000001,s=0,sTmp=1;
    doubleerrorRange=s>sTmp?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=s>sTmp?s-sTmp:sTmp-s;
    }
    i++;
    }
    System.out.println("误差为:"+errorRange);
    if(x==1){
    System.out.println("π/4="+s);
    }
    returns;
    }
    }

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

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

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

❽ java程序圆周率问题,求大神!!!!

题主的运算逻辑我搞不太清楚,while 里的这一段

b++;
pi=pi+sum/i;
i=i+2;

if(pi<3.1415927&&pi>3.1415926){

System.out.println(b);

}else{

pi=pi-sum/i;
i=i+2;
b++;

if(pi<3.1415927&&pi>3.1415926){
System.out.println(b);
}

}

并没有区分何时加或者何时减sum / i,这样会导致运算结果混乱,而且 π 值的判断和 b 的输出都写了两个,感觉不是很清楚。我重新写了一个,题主可以参考。

publicclassTest{

publicstaticvoidmain(String[]args){

inttrial=0;

doubledenominator=1;
doublenumerator=4;
doublePI=0;

finaldoubleLOWER_BOUND=3.1415926;
finaldoubleUPPER_BOUND=3.1415927;

while(true){

trial++;

//计算次数为奇数时加,偶数时减
if(trial%2==0)
PI-=numerator/denominator;
else
PI+=numerator/denominator;

denominator+=2;

//判断π值,符合要求精度后停止循环
if(PI>=LOWER_BOUND&&PI<=UPPER_BOUND)
break;

}

System.out.println("π≈"+PI);
System.out.println("计算次数:"+trial+"次");

}
}

结果如下:


❾ java程序计算圆周率有点小疑问

代码如下://圆周率π=4∑(k=0,..∞)(-1)^k/(2k+1)//π=3.{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubintn=0;doublea=0;for(n=0;n

❿ 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;resulttimes<10;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;}}}

热点内容
淘汰服务器可以做家用电脑吗 发布:2025-05-16 21:41:31 浏览:842
游程编码c语言 发布:2025-05-16 21:26:51 浏览:586
帝来哪个配置值得购买 发布:2025-05-16 21:12:29 浏览:462
什么是nodejs前端服务器 发布:2025-05-16 21:12:17 浏览:405
编译选项立即绑定未定义符号 发布:2025-05-16 20:55:13 浏览:906
linuxmysql慢日志 发布:2025-05-16 20:47:58 浏览:271
村两委有哪些配置 发布:2025-05-16 20:34:47 浏览:293
我的世界有什么服务器好玩的 发布:2025-05-16 20:28:57 浏览:484
c语言按位与运算 发布:2025-05-16 20:24:10 浏览:755
苹果手机如何修改密码安全 发布:2025-05-16 20:23:34 浏览:194