Java使用Math.random()结合蒙特卡洛方法计算pi值示例
作者:软货 发布时间:2023-05-10 10:43:13
标签:Java,random,计算
本文实例讲述了Java使用Math.random()结合蒙特卡洛方法计算pi值。分享给大家供大家参考,具体如下:
一、概述
蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。
详细可参考百度百科:https://baike.baidu.com/item/%E8%92%99%E7%89%B9%C2%B7%E5%8D%A1%E7%BD%97%E6%96%B9%E6%B3%95
二、实现代码
/**
* Monte Carlo algorithm
*/
import java.math.*;
public class PI {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
double xf = 0.0d;
double yf = 0.0d;
int total = 0;
for(int i = 0;i<1000000;i++){
xf = Math.random();
yf = Math.random();
if(Math.sqrt(xf*xf+yf*yf) < 1)
total++;
}
System.out.println("脚本之家测试结果:");
System.out.println(4*(total/1000000.0));
}
}
运行结果:
希望本文所述对大家java程序设计有所帮助。
来源:http://blog.csdn.net/baidu_22502417/article/details/46439267
0
投稿
猜你喜欢
- 现象: 1. 表面现象: 方法中输出的日志, 日志文件中找不到, 也没有任何报错(即@Async标注的方法没有执行, 也没有报错)2. 分析
- 在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较
- Tomcat 如何实现WebSocketWebSocket协议属于HTML5标准,越来越多浏览器已经原生支持WebSocket,它能让客户端
- 前言之前用简书的时候一直是在web端,后来下载了客户端,看到了搜索的那个动画,就尝试的去写了,没写之前感觉挺容易的,写了之后,就感觉里面还是
- spring-mybatis获取mapper方式汇总项目背景:pojo下面有一个user实体类Dao包下面写了usermapper.xml
- 在使用JDBC的时候,数据库据连接是非常宝贵的资源。为了复用这些资源,可以将连接保存在一个队列中。当需要的时候可以从队列中取出未使用的连接。
- 一、返回BufferedImage由于spring mvc不支持返回BufferedImage ,所以增加图片转换器@Configurati
- 该项目主要实现mybatisplus、多数据源、lombok、druid的集成主要参考 https://mp.baomidou.com/gu
- Linux Hadoop 2.7.3 安装搭建Hadoop实现了一个分布式文件系统(Hadoop Distributed File Syst
- 在我们的程序设计中,我们经常要加密一些特殊的内容,今天总结了几个简单的加密方法,分享给大家!如何用JAVA实现字符串简单加密解密?为保证用户
- Android异常详情介绍这种异常我遇到以下两种情况: 1. java.lang.IllegalStateException: No wra
- 1.首先,八种基本数据类型分别是:int、short、float、double、long、boolean、byte、char; &
- 本文实例为大家分享了java使用poi导出图片到Excel的具体代码,供大家参考,具体内容如下代码实现Controller/** * 导出志
- Springboot + Vue,定时任务调度的全套实现方案。这里用了quartz这个框架,实现分布式调度任务很不错,关于quarz的使用方
- 本文实例讲述了Java枚举类用法。分享给大家供大家参考。具体如下:package com.school.stereotype; /** *
- SpringBoot的持久化层可以是Spring内置的轻量级JdbcTemplate、也可以是Hibernate或Mybatis等等,只需要
- 最近要给一个 Winform 项目添加功能,需要一个能显示进度条的弹窗,还要求能够中止任务,所以就做了一个,在此做个记录总结。虽然用的是比较
- SimpleDateFormat是处理日期格式转换的类。官方API_1.8关于SimpleDateFormat继承于DateFormate截
- Java泛型映射不同的值类型详解前言:一般来说,开发人员偶尔会遇到这样的情形: 在一个特定容器中映射任意类型的值。然而Java 集合API只
- springboot + docker + jenkins自动化部署项目,jenkins、mysql、redis都是docker运行的,并且