Kann mir jemand diese Bedingung erklären

B0hn3

Mitglied
Das Programm sieht sehr schwer aus, aber es geht mir nur um den grün markierten Block mit der for-Schleife. Das Programm simmuliert eine Lottozahlenziehung (verhindert erstmal, dass Zahlen doppelt gezogen werden) und dann errrechnet es die Warscheinlichkeit, dass zwei nebeneinanderliegende Zahlen (sogenannte Paare) gezogen werden. Aber mir geht es nur um den grünen Block. Und zwar verstehe ich nicht, wieso das Programm nicht funktioniert, wenn da die rot markierte Zeile nicht steht. Meiner Meinung nach ist diese Bedinung da vollkommen unnötig. Aber wenn ich sie rausnehme, stürzt das Probramm ab. Kann mir jemand erklären wieso?
 

Anhänge

  • Lotto.png
    Lotto.png
    36,6 KB · Aufrufe: 72
In der "rot markierten Zeile" deklarierst du ja die boolsche Variable die du als Bedingung für die do-while-Schleife brauchst.
Ohne diese Deklaration gibt es die Variable doppelt nicht und es gibt einen Fehler.
 
Machmal sieht man den Wald vor lauten Bäumen nicht. Danke. Es hat mich wohl etwas verwirrt, dass sie nicht einfach in der Methode außerhalb der Schleifen geschrieben wurde.
 
Es gab hier im Forum in einem anderen Thread mal einen "Wettbewerb" um das kürzeste Lottozahlengenerierungsprogramm.
... and the winner was: ...

Code:
        final int[] ints = new Random().ints(1, 50).distinct().limit(6).toArray();
 

Zurück
Oben