Loesungen fuer Aufgabe 4 (Wuerfel)
2002-02-25 03:00
Fred
Hier meine Loesung fuer die Wuerfelaufgabe.
Postet doch mal Eure Ansaetze. Bin gespannt.
Da wo der Smiley ist soll eigentlich eckige Klammer auf, eckige Klammer zu stehen.
Postet doch mal Eure Ansaetze. Bin gespannt.
public class Wuerfel {
private java.util.Random myZufall;
private int[] w;
private int summe;
public Wuerfel() {
myZufall = new java.util.Random();
int i;
w = new int[img]http://images.rapidforum.com/images/i6.gif[/img];
for (i=0; i<6; i++) {
w[i] = 0;
}
summe = 0;
}
public int wuerfeln(int n, boolean ausgabe) {
int i, letzter=0;
for (i=0; i<n; i++)
{
letzter = myZufall.nextInt(6);
w[letzter]++;
if (ausgabe) {
System.out.println(letzter+1);
}
}
summe += n;
return(letzter+1);
}
private String intBreite(int i, int breite) {
String s = " " + i;
return(s.substring(s.length()-breite));
}
public void statistik() {
int i;
final float f = 100.0f / (float) summe;
final float erwartung = 100.0f / 6.0f;
float p;
System.out.println("Augen | Haeufigkeit | Prozent");
System.out.println("-----------------------------");
for (i=0; i<6; i++) {
p = f * w[i];
System.out.println(intBreite(i+1, 5)
+ intBreite(w[i], 14)
+ intBreite((int) p, 10));
}
System.out.println("-----------------------------");
System.out.println("Gesamt: " + intBreite(summe, 11) + " 100");
}
public static void main (String[] args) {
final int ANZAHL = 100000;
Wuerfel meinWuerfel = new Wuerfel();
meinWuerfel.wuerfeln(ANZAHL, false);
meinWuerfel.statistik();
}
}
Da wo der Smiley ist soll eigentlich eckige Klammer auf, eckige Klammer zu stehen.