在Java学习的过程中,需要经常拿一些小程序来练习。今天,我们就来看看一个利用蒙特卡洛算法计算圆周率,并输出指定半径的圆的周长和面积的小程序。
代码如下:
/**
* auther 司机
*/
import java.util.Scanner;
public class Test011 {
static double MontePI(int n) {
double PI;
double x, y;
int i, sum;
sum = 0;
for (i = 1; i < n; i++) {
x = Math.random();
y = Math.random();
if ((x * x + y * y) <= 1) {
sum++;
}
}
PI = 4.0 * sum / n;
return PI;
}
public static void main(String[] args) {
int n;
double PI;
System.out.println("蒙特卡洛概率算法计算圆周率:");
Scanner input = new Scanner(System.in);
System.out.println("输入点的数量:");
n = input.nextInt();
PI = MontePI(n);
System.out.println("PI="+PI);
double radius;
double area;
double circle;
Scanner input2 = new Scanner(System.in);
System.out.println("输入圆半径");
radius = input2.nextInt();
circle = 2*PI*radius;
area = radius*radius*PI;
System.out.println("The area is"+ area);
System.out.println("The circle is"+ circle);
}
}
输出:
蒙特卡洛概率算法计算圆周率: 输入点的数量:
然后你就可以在控制台输入点的个数,求圆周率的近似值,再输入想要求的圆的半径,就可以得到周长和面积了。
例:
蒙特卡洛概率算法计算圆周率: 输入点的数量: 9887766 PI=3.141522968889029 输入圆半径 5 The area is78.53807422222573 The circle is31.415229688890292
关于蒙特卡洛算法计算圆周率近似值,作者之前的文章已有记载。
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏