Moin Leute!
Ich bin blutiger Javaanfänger und trotz langen intertnetrecherchen konnte ich keine Lösung für mein Problem finden.
Ich möchte eine Methode haben die eine int wert Eingebe verlangt, dann überprüft, ob dieser wert in einem array liegt und dann den Wert zurück gibt oder nochmals nach einem wert fragt, sollte er nicht im Array liegen. Also sozusagen eine Eingabe Fehlererkennung. So weit so einfach. Bei korrekter eingebe funktioniert auch alles wunderbar: eingegebene Wert wird zurückgegeben. Wenn man einen falschen Wert eingibt, geht die Methode zwar in die else-Schleife returnt am ende aber immer 0. Es scheint also so, als ob die Methode nicht nochmal vom Anfang an gestartet wird???
Würde mich über Hilfe sehr freuen!
Ich bin blutiger Javaanfänger und trotz langen intertnetrecherchen konnte ich keine Lösung für mein Problem finden.
Ich möchte eine Methode haben die eine int wert Eingebe verlangt, dann überprüft, ob dieser wert in einem array liegt und dann den Wert zurück gibt oder nochmals nach einem wert fragt, sollte er nicht im Array liegen. Also sozusagen eine Eingabe Fehlererkennung. So weit so einfach. Bei korrekter eingebe funktioniert auch alles wunderbar: eingegebene Wert wird zurückgegeben. Wenn man einen falschen Wert eingibt, geht die Methode zwar in die else-Schleife returnt am ende aber immer 0. Es scheint also so, als ob die Methode nicht nochmal vom Anfang an gestartet wird???
Würde mich über Hilfe sehr freuen!
Java:
import java.util.Arrays;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println(converter());
}
public static int converter() {
Scanner a = new Scanner(System.in);
int rueckgabewert = 0;
String[] Spalteneingabe = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
System.out.println("gib ein Zahl von 0-9 ein");
String value = a.next();
if (Arrays.asList(Spalteneingabe).contains(value)) {
int intvalue = Integer.parseInt(value);
rueckgabewert = intvalue;
} else {
System.out.println("Eingabe nicht korrekt, zulaessige Eingaben sind: " + Arrays.toString(Spalteneingabe));
converter();
}
return rueckgabewert;
}
}
Zuletzt bearbeitet von einem Moderator: