Home >Java >javaTutorial >An example of how Java uses Math.random() and Monte Carlo methods to calculate pi values

An example of how Java uses Math.random() and Monte Carlo methods to calculate pi values

黄舟
黄舟Original
2017-09-18 10:01:362166browse

This article mainly introduces how Java uses Math.random() combined with the Monte Carlo method to calculate the pi value. It briefly explains the principle of the Monte Carlo method combined with specific examples, and analyzes the use of Monte Carlo methods in Java based on specific examples. For the operation skills of Carlo method to calculate PI value, friends who need it can refer to

This article describes the example of Java using Math.random() combined with Monte Carlo method to calculate pi value. Share it with everyone for your reference, the details are as follows:

1. Overview

Monte Carlo method, also known as Statistical simulation method is a very important numerical calculation method guided by probability and statistics theory that was proposed in the mid-1940s due to the development of science and technology and the invention of electronic computers. Refers to a method of using random numbers (or more commonly pseudo-random numbers) to solve many computational problems. Corresponding to it is the deterministic algorithm.

2. Implementation code


##

/**
 * 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));
  }
}

Running result:

The above is the detailed content of An example of how Java uses Math.random() and Monte Carlo methods to calculate pi values. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn