Java :: Aufgabe #280
2 Lösungen
Häufigkeit einer 6 beim Würfeln?!
Anfänger - Java
von DragStar
- 06.04.2020 um 08:34 Uhr
Verfassen Sie ein Programm, welches 25.000 mal, jeweils so lange das Würfeln mit einem Würfel simuliert, bis eine 6 erscheint.
Auszugeben ist, wie oft man dabei schlimmstenfalls würfeln musste.
Auszugeben ist, wie oft man dabei schlimmstenfalls würfeln musste.
Lösungen:
import java.util.Scanner;
public class Dice {
public static void main(String[] args) {
int rolls = 0;
int six = 0;
Scanner sc = new Scanner(System.in);
System.out.print("How many rolls: ");
rolls = sc.nextInt();
for(int i = 0; i < rolls; i++) {
if((int)(Math.random()*7) == 6) {six++;}
}
System.out.println("You rolled "+six+" times a 6");
}
}
package versuchslabor;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class Wuerfeln {
public static void main(String[] args) {
Map<Integer, Integer> trefferHistorie = new HashMap<Integer, Integer>();
int maxVersuche = 0;
int gesamtVersuche = 0;
int durchlaeufe = 25000;
for(int i = 1; i < durchlaeufe; i++) {
int versucheBisTreffer = 0;
String versuche = "";
while(true) {
gesamtVersuche++;
versucheBisTreffer++;
int zufallszahl = new Random().nextInt(6)+1;
versuche += zufallszahl + ", ";
if(zufallszahl == 6) {
if(versucheBisTreffer > maxVersuche) {
maxVersuche = versucheBisTreffer;
}
break;
}
}
System.out.println("Durchlauf " + i +": " + versuche);
trefferHistorie.put(i, versucheBisTreffer);
}
System.out.println();
System.out.println("Historie: " + trefferHistorie);
System.out.println("Bis eine 6 gewürfelt wurde, sind maximal " + maxVersuche + " Versuche nötig gewesen.");
System.out.println();
System.out.println("Für " + durchlaeufe +" Sechsen sind " + gesamtVersuche + " Würfe nötig gewesen. ");
double durchschnitt = Math.rint((double)gesamtVersuche/durchlaeufe * 100) / 100;
System.out.println("Dies entspricht einem Durchschnitt von "+ durchschnitt+ " Versuchen.");
}
}
