Leerzeichen erlauben und regex verkürzt

This commit is contained in:
Marc Koch 2020-04-09 11:34:09 +02:00
parent 8bae4ff05a
commit 198c4e3b1f
1 changed files with 6 additions and 3 deletions

View File

@ -14,11 +14,13 @@ public class Lottozahlen {
while (!eingabeKorrekt) { while (!eingabeKorrekt) {
System.out.println("Bitte geben Sie sechs, mit Kommata getrennte, Lottozahlen (1 - 49) ein. " + System.out.println("Bitte geben Sie sechs, mit Kommata getrennte, Lottozahlen (1 - 49) ein. " +
"(Beispiel: \"6,12,29,34,40,46\")"); "(Beispiel: \"6,12,29,34,40,46\")");
String eingabe = scanner.next(); String eingabe = scanner.nextLine();
if (eingabe.matches("([\\s]*[1-4][0-9][\\s]*[,][\\s]*|[\\s]*[0-9][\\s]*[,][\\s]*){5}[1-4][0-9][\\s]*|[0-9][\\s]*")) {
// Eingabe überprüfen
if (eingabe.matches("(\\s*(([1-4][0-9])|([0-9]))\\s*,?){6}")) {
// Eingabe in ArrayList übertragen
String[] zahlen = eingabe.split("[,]"); String[] zahlen = eingabe.split("[,]");
for (String zahl : zahlen) { for (String zahl : zahlen) {
lottoschein.add(Integer.parseInt(zahl.trim())); lottoschein.add(Integer.parseInt(zahl.trim()));
} }
@ -30,6 +32,7 @@ public class Lottozahlen {
System.err.println("Doppelte Zahlen!"); System.err.println("Doppelte Zahlen!");
} }
// Zahlen ungültig?
} else { } else {
System.err.println("Ungültige Zahlen!"); System.err.println("Ungültige Zahlen!");
} }