# Würfeln, Zufallsgenerator, Prozentuale Ausgabe auf der Konsole



## I-Love-Java (31. Mrz 2009)

[highlight=Java]import java.util.Random;

public class Uebung00
{
    public static void main (String [] args)
    {        
        menge f = new menge(); 

        System.out.println (f.Zahlwuerfeln(10));        
    }
}

{
    int Zahlwuerfeln
    (int n)
    { 
        if (n ==1)
        {
            Random r=new Random();
             int z = r.nextInt(10)+1; 
                System.out.println("Würfelwurf " + n +" hat das Ergebniss " +z );
            return n;
        }
        else
        {
            Random r=new Random();
         int z = r.nextInt(10)+1; 
            System.out.println("Würfelwurf " + n +" hat das Ergebniss " +z );

        return wuerfeln(n-1);
        }
    }
}[/highlight]

*Wie kann ich hier in dieses Coding  Erweitern, dass die Anzahl der Würfe für jede Zahl gezählt und auf der Konsole Prozentual angezeigt wird..?
Ich komme nämlich nicht weiter.... Hab schon einiges ausprobiert... Ständig folgte ein Compiler-Fehler!
*


----------



## quiqum (31. Mrz 2009)

Mach doch ein INT Vector. Füge die einzelnen Zahlen hinzu und rechne am Schluss alles aus. Das ist glaube ich am einfachsten.


----------



## Marco13 (31. Mrz 2009)

INT vector?

Hm. Die Frage ist nicht gerade präzise gestellt. Beschreib' mal genauer, was du willst (und was "wuerfeln" macht...)


----------



## Schandro (31. Mrz 2009)

Poste mal bitte vollständigen Code.

Übrigens:
Variablennamen schreibt man: camelCase
Klassennamenn  schreibt man: CamelCase

D.h. bei variablen der erste Buchstabe klein, bei Klassen groß.
Warum? Siehe Java Coding Convention


----------



## ARadauer (2. Apr 2009)

zählen?

ein int array mit der länge des maximalen ergebnisses machen
das ergebnis ist der index im array
der wert beim index wird eröht....

beispiel folgt...


return wuerfeln(n-1);
was ist das...?


----------



## ARadauer (2. Apr 2009)

ich hoffe jetzt für dich, dass du keine rekursion bauen wolltest....


```
import java.util.Random;

public class Wuerfeln {


   public static void main(String[] args) {

      int anzahl = 500;
      int max = 6;
      
      int[] ergebnis = wuerfle(anzahl, max);
      for(int i = 0; i < ergebnis.length; i++){
         System.out.println((i+1)+" kam "+ergebnis[i]+" mal");
      }  
   }
   
   public static int[] wuerfle(int anzahl, int max){
      int[] ergebnis = new int[max];
      Random rnd = new Random();      
      for(int i = 0; i <anzahl; i++){
         int wurf = rnd.nextInt(max)+1;
         System.out.println("Wurf "+i+" ist "+wurf);
         ergebnis[wurf-1]++;
      }
      return ergebnis;
   }

}
```


----------



## ARadauer (2. Apr 2009)

oder auch ganz praktisch .. mit zwei würflen...

warum glaub ihr ist bei siedler von catan, der räuber die 7 und 6,8 sind rot geschrieben...
tja darum


```
public class Wuerfeln {


   public static void main(String[] args) {

      int anzahl = 5000000;
      int max = 6;
      
      int[] ergebnis = wuerfle2Mal(anzahl, max);
      for(int i = 0; i < ergebnis.length; i++){
         System.out.println((i+1)+" kam "+ergebnis[i]+" mal");
      }  
   }
   
   public static int[] wuerfle2Mal(int anzahl, int max){
      int[] ergebnis = new int[max*2];
      Random rnd = new Random();    
      for(int i = 0; i <anzahl; i++){
         int wurf = rnd.nextInt(max)+1;
         int wurf2 = rnd.nextInt(max)+1;
         //System.out.println("Wurf "+i+" ist "+(wurf+wurf2));
         ergebnis[wurf+wurf2-1]++;
      }
      return ergebnis;
   }

}
```


----------

