有高手能用java编写的计算圆周率的程序吗?
发布网友
发布时间:2022-05-02 09:15
我来回答
共5个回答
热心网友
时间:2023-10-15 11:36
double k = 0; // 分母
int j = 0; // 计数器
double sum = 0; // 总和
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0) { // 判断是否为基数
k = i; // 先获取分母
j++;
if (j % 2 == 0) { // 判断是否为偶数项 如果是 乘-1
k *= (-1);
}
}
sum =sum +(1/k); // 计算出总和
}
System.out.println(2*sum); // 输出最后结果
热心网友
时间:2023-10-15 11:37
public class TestPI{
public static void main(String[] args){
int time=new Integer(args[0]).intValue();//输入的项数;
double result=0;//用来保存结果
for(int i=1;i<=time;i++){
double value=4.0/(2*i-1);
if (i % 2 == 1) result+=value;//基数加偶数减
else result-=value;
}
System.out.println(result);
}
}
热心网友
时间:2023-10-15 11:37
// CalcPI2.java
class CalcPI2
{
public static void main (String [] args)
{
MyThread mt = new MyThread ();
mt.start ();
while (mt.isAlive ())
try
{
Thread.sleep (10); //休眠10毫秒
}
catch (InterruptedException e)
{
}
System.out.println ("pi = " + mt.pi);
}
}
class MyThread extends Thread
{
boolean negative = true;
double pi; //缺省初始化成0.0
public void run ()
{
for (int i = 3; i < 100000; i += 2)
{
if (negative)
pi -= (1.0 / i);
else
pi += (1.0 / i);
negative = !negative;
}
pi += 1.0;
pi *= 4.0;
System.out.println ("Finished calculating PI");
}
}
热心网友
时间:2023-10-15 11:38
java中有Math.PI可以表示π,你可以打印输出看看,如果是想计算结果的话估计不行,因为到现在也没有一个计算公式的结果是准确的π
热心网友
时间:2023-10-15 11:38
public static void main(String[] args) {
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);
}
100000000这个数还是相对精确