Java :: Aufgabe #280

2 Lösungen Lösungen öffentlich

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.

Lösungen:

vote_ok
von TheFirstLuc (280 Punkte) - 13.05.2020 um 20:40 Uhr
Quellcode ausblenden 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");
	}
}
vote_ok
von unknown (250 Punkte) - 03.09.2020 um 12:09 Uhr
Quellcode ausblenden 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.");		
	}
}