Ich versuche, eine InputMismatchException
fangen es funktioniert bei der ersten Interaktion, aber wenn die menu()
Methode erneut aufgerufen wird, beginnt es Schleife, bis es in einem Fehler stecken bleibt.Java try catch (InputMismatchException) unerwartete Schleife
In der try catch
mein Ziel war es, eine Fehlermeldung zu erhalten und danach starten Sie die menu()
Methode erneut.
Ich habe den folgenden Code:
public class Menu extends ProfilesManager {
static Scanner sc = new Scanner(System.in);
public static void menu() {
int number;
System.out.println("** Welcome... **\n ");
System.out.println("* what you wanna do?:\n");
System.out.println("(1) Login \n(2) Register \n(3) Find User \n(4) Exit\n");
System.out.print("-Answer?: ");
try {
number = sc.nextInt();
if (number == 1) {
Login();
} else if (number == 2) {
Register();
} else if (number == 3) {
FindUser();
} else if (number== 4) {
Exit();
}
} catch (InputMismatchException e) {
System.out.println("Error , only numbers!!");
menu();
}
}
}
}
Was 'menuPrinc() ist;'? Wenn Sie etwas neu starten möchten, verwenden Sie eine tatsächliche Schleife, nicht Rekursion –
ich denke, Sie müssen nur 'menu()' in der 'catch' Block – Yazan
menuPrinc() ist die Methode menu(), ich habe vergessen, es zu korrigieren, Es tut uns leid! –