Würfeln, Zufallsgenerator, Prozentuale Ausgabe auf der Konsole

Status
Nicht offen für weitere Antworten.

I-Love-Java

Mitglied
[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

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

Marco13

Top Contributor
INT vector?

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

Schandro

Top Contributor
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

Top Contributor
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

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

Code:
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

Top Contributor
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

Code:
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;
   }

}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben