Computer Science 202
Introduction to Programming
Fall 2012, The College of Saint Rose
MonteCarloPi BlueJ Project
Click here to download a BlueJ project for MonteCarloPi.
Download file: MonteCarloPi.vls
MonteCarloPi Source Code
The Java source code for MonteCarloPi is below. Click on a file name to download it.
/* * Example MonteCarloPi: approximate pi using a Monte Carlo method * * Jim Teresco, The College of Saint Rose, CSC 202, Fall 2012 * * $Id: MonteCarloPi.java 1960 2012-10-29 00:54:13Z terescoj $ */ import java.util.Random; import java.util.Scanner; public class MonteCarloPi { public static void main(String[] args) { // create our Scanner and Random objects Scanner keyboard = new Scanner(System.in); Random random = new Random(); // get the number of points to generate System.out.print("How many points to generate for this approximation of pi? "); int numPoints = keyboard.nextInt(); // variable to keep track of the number of the generated points // that were inside the unit circle int inCircle = 0; // now loop to generate and check numPoints points for (int pointNum = 1; pointNum <= numPoints; pointNum++) { // generate our x,y coordinates double x = random.nextDouble(); double y = random.nextDouble(); // distance from the origin: double dist = Math.sqrt(x * x + y * y); // check if it's less than or equal to 1 if (dist <= 1) { inCircle++; } } // our pi approximation double apxPi = (double)inCircle / numPoints * 4; System.out.println("Our approximation of pi: " + apxPi); } }