001    package de.hska.java.aufgaben.kontrollstrukturen;
002    
003    /**
004     * Berechnet die Zahl PI über das Verhältnis der
005     * Anzahl zufälliger
006     * Koordinaten (x,y), die sich in einem Quadrat mit Kantenlänge
007     * 1 zu dem darin enthaltenen Viertelkreis mit Durchmesser 1
008     * befinden.
009     * 
010     * <p>
011     *   <a href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/kontrollanweisungen.html#wallissche_produkt">Zurück zum Aufgabentext</a>
012     * </p>
013     * 
014     * 
015     * @author Christian Pape
016     */
017    public class PiBerechnen {
018    
019            /**
020             * Gibt die Zahl Pi näherungsweise aus.
021             */
022            public static void main(String[] args) {
023                    final int n = 10000000;
024                    int anzahlImKreis = 0;
025                    
026                    for (int i = 0; i < n; i++) {
027                            double x = Math.random();
028                            double y = Math.random();
029                            if ( x*x + y*y <= 1) {
030                                    anzahlImKreis++;
031                            }
032                    }
033                    
034                    System.out.println(anzahlImKreis * 4.0 / n);
035                    
036            }
037    
038    }