Loesungen fuer Aufgabe 4a (Lottol)
2002-02-25 03:02
Fred
Und hier mein Lotto Loesungsansatz. Bitte auch hier Eure Loesungen posten.
Statt dem Smiley hier wieder eckige Klammern, und die nicht vorhandene Grafik ist eine 0 in eckigen Klammern. Tsk…
Statt dem Smiley hier wieder eckige Klammern, und die nicht vorhandene Grafik ist eine 0 in eckigen Klammern. Tsk…
public class Lotto {
private java.util.Random meinZufall;
private int[] lottoZahl;
public Lotto() {
meinZufall = new java.util.Random();
lottoZahl = new int[img]http://images.rapidforum.com/images/i6.gif[/img];
}
public void spielen() {
int i, k, z;
for (i=0; i<6; i++) // es muessen 6 Zufallszahlen erzeugt werden
{
boolean neu;
do
{
z = meinZufall.nextInt(49)+1; // naechste Zufallszahl bestimmen
neu = true; // angenommen, sie ist neu
for(k=0; (k<i)&&neu; k++) // alle vorherigen Zahlen durchsuchen
{
if (lottoZahl[k] == z) // kam sie schon vor?
neu = false; // dann ist sie doch nicht neu!
}
} while (!neu); // so lange rumprobieren, bis neue Zahl gefunden
lottoZahl[i] = z; // dann kann die neue Zahl gespeichert werden
}
}
public void sortieren() {
int i, k, t;
for (i=0; i<5; i++) { // die ersten fuenf Zahlen muessen
// evtl. vertauscht werden
for (k=i+1; k<6; k++) { // alle rechts davon muessen untersucht werden
if (lottoZahl[i] > lottoZahl[k]) {//linke Zahl groesser als rechte?
t = lottoZahl[i]; // ...vertausche...
lottoZahl[i] = lottoZahl[k]; // ...die beiden...
lottoZahl[k] = t; // ...Lottozahlen...
}
}
}
}
public void ausgabe() {
int i;
String a = "Die Lottozahlen lauten: " + lottoZahl[img]http://images.rapidforum.com/images/i0.gif[/img]; //erste Lottozahl
for (i=1; i<6; i++)
{
a = a.concat(", " + lottoZahl[i]); // die letzten fuenf dranhaengen
}
a = a.concat(". Viel Glueck!");
System.out.println(a);
}
public static void main (String[] args) {
Lotto meinLotto = new Lotto();
meinLotto.spielen();
meinLotto.sortieren();
meinLotto.ausgabe();
}
}