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:
Java-Code
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"); } }
Java-Code
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."); } }