Hallo Nanny McPhie,
Deine Art in Java zu programmieren ist nicht ganz im Sinne des Erfinders, wie dir fassy deutlich machen will.
Als altem Basic-Programmierer und Java-Anfänger liegt mir aber die lineare Programmierung auch näher.
Ganz gut find ich den Ansatz, dass du Arrays mit 50 Elementen nimmst und dort nur Flags setzt, also quasi den Lottoschein immitierst, auch wenn es da dann ein bool-Array 49 Elementen getan hätte. Das Element im dem Index 0 darf man ja durchaus auch verwenden. Du musst dann halt statt z.B. Tip[Zahl] vielleicht Tip[Zahl-1] schreiben.
Weniger gefällt mir dann der if then Konstrukt (bei der Eingabe). Das ist schon wegen fehlender Einrückungen schwer lesbar.
Dann prüfst du zunächst, ob die eingegeben Zahl < 50 ist und dann, inwieweit diese Zahl bereits eingebene war.
Später dann nochmal, ob die Zahl >49 ist.
Wäre es hier nicht sinnvoller zu prüfen inwieweit Zahl < 1 oder Zahl > 49 und wenn
- Ja, Fehlermeldung
- sonst : Wenn Zahl schon da, dann Fehlermeldung, sonst Zahl eintagen und "while" verlassen..
Nachdem ich ja auch ein JAVA-Anfänger bin, weiss ich auch nicht, inwieweit das Array mit der Deklaration schon Werte enthält.
In Basic hätte ich erwartet dass alle Elemente des Array 0 sind, ohne dass ich dafür irgendwas zu tun hätte.
Wenn das bei Java auch so wäre, kein Problem, anderfalls aber schon.
Am Ende musst du - gemäß deiner Methode - die beiden Felder parallel vergleichen und zwar mit Index von 1 bis 49
Ein Treffer liegt vor, wenn Tipp = 1 und Lotto = 1;