Pi berechnen

Hallo liebe Leut, bin absoluter Programmieranfänger (seit vorgestern...), deshalb bitte Gnade walten lassen 🙂
Ich hab mich mal daran versucht Pi mittels 10000 Zufallswerten zu ermitteln, aber irgendwo scheint es zu haken... da ich als double schlicht 3.0 rausbekomme...
Es ist sicherlich ein evidenter Fehler drin, noch verbirgt er sich jedoch meiner Eminenz.
also hier der processing-Code :
Java:
void setup(){
double[] werte;
werte=new double[10000];
for(int i=0;i<10000;i++){werte[i]=10000*Math.random()-Math.sqrt(100000000-Math.pow(i,2));};
int a=0;
for(int i=0;i<10000;i++){ if (   werte[i] <0  ){   a++   ;}    ;}
double pi=(4*a)/10000;
print(pi);
}
 
Hallo 🙂

Java:
double pi=(4*a)/10000;

Alle beteiligten Operanden (4, a, 10000) sind ints - deshalb wird das Zwischenergebnis auch während der Berechnung als int behandelt und erst am Ende nach double konvertiert. Dadurch wird die ganze Zeit ohne Nachkommastellen gerechnet. Es reicht schon, dass du statt 4 einfach 4.0 schreibst, dadurch ist einer der Operanden double und der Compiler weiß, dass er mit double-Zwischenergebnissen rechnen muss.
 

Zurück
Oben