java编写一个计算圆周率的近似值保留4位精度
时间: 2024-09-25 13:04:55 浏览: 60
在Java中,我们可以使用Monte Carlo方法(蒙特卡洛模拟)来估算圆周率的近似值。这个方法基于概率论,通过大量随机投点到单位正方形内并统计落入单位圆内的点数比例来逼近π的值。以下是一个简单的示例:
```java
import java.util.Random;
public class PiApproximation {
public static void main(String[] args) {
int circleCount = 0;
int squareCount = 0;
double piEstimate = 4.0; // 初始化为π的四倍,因为每个落在圆内的点都会贡献π/4
for (int i = 0; i < 10000000; i++) { // 1000万次迭代可以得到相当精确的结果
double x = Math.random();
double y = Math.random();
if (Math.pow(x, 2) + Math.pow(y, 2) <= 1) { // 如果点在单位圆内
circleCount++;
}
squareCount++;
}
// 根据落在圆内的点的比例更新π的估计值,并保留4位小数
piEstimate = piEstimate / ((double) squareCount / circleCount);
System.out.printf("Pi estimated with 4 decimal places: %.4f\n", piEstimate);
}
}
```
运行此程序后,会打印出一个接近π的近似值,保留了四位小数。
阅读全文