Hallo, ich lerne erst seit einigen Tagen Java, daher bitte nicht wundern, dass ich bestimmt nicht alles optimal gelöst habe.
Mein Problem ist folgendes: Der User soll immer wieder zu einem Auswahlmenü kommen, was auch so lange klappt, bis er durch falsche eingaben (Buchstaben bei einem int in meinem Fall) eine Exception auslöst, was dann zum Beenden des Programms führt, obwohl ich die Exception catche und eigentlich möchte, dass er dann mit der Schleife weiter macht, so dass der User zurück ins Menü kommt.
Was muss ich ändern, damit ich auch nach der Exception weiter in der Schleife, also im Menü, bleibe?
Eine Frage die damit in Verbindung steht: Kann ich irgendwie einen Punkt in meinem Quellcode festlegen und mit einem Befehl dann zurück zu diesem Punkt springen? So könnte man dieses (und noch einige andere Probleme von mir) lösen.
Mein Problem ist folgendes: Der User soll immer wieder zu einem Auswahlmenü kommen, was auch so lange klappt, bis er durch falsche eingaben (Buchstaben bei einem int in meinem Fall) eine Exception auslöst, was dann zum Beenden des Programms führt, obwohl ich die Exception catche und eigentlich möchte, dass er dann mit der Schleife weiter macht, so dass der User zurück ins Menü kommt.
Java:
try{
while(true){
System.out.println("Was möchten sie machen?");
System.out.println("1: Kontobesitzer anzeigen lassen.\n2: Kontostand anzeigen lassen.\n3: Geld auf das Konto bringen.
\n4: Geld vom Konto abholen.\n5: Das Programm Beenden.");
int ein = sc.nextInt();
switch (ein) {
case 1:
System.out.println(Name);
Thread.sleep(1000);
break;
case 2:
System.out.println(kto.getKontostand() + " €");
Thread.sleep(1000);
break;
case 3:
System.out.println("Wie viel Geld möchten sie auf ihr Konto bringen?
(Ohne Euro-, aber ggf. mit Kommazeichen, nicht mit Punkt.)");
kto.setKontostand(sc2.nextDouble());
System.out.println("Transaktion erfolgreich.");
Thread.sleep(1000);
break;
case 4:
System.out.println("Wie viel Geld möchten sie von ihrem Konto abholen?
(Ohne Euro-, aber ggf. mit Kommazeichen, nicht mit Punkt.)");
kto.setKontostand2(sc2.nextDouble());
System.out.println("Transaktion erfolgreich.");
Thread.sleep(1000);
break;
case 5:
pw.println(Name);
pw.println(kto.getKontostand());
pw.close();
System.exit(0);
}}}
catch (Exception e) {System.out.println("Nur Zahlen bitte.");};
Was muss ich ändern, damit ich auch nach der Exception weiter in der Schleife, also im Menü, bleibe?
Eine Frage die damit in Verbindung steht: Kann ich irgendwie einen Punkt in meinem Quellcode festlegen und mit einem Befehl dann zurück zu diesem Punkt springen? So könnte man dieses (und noch einige andere Probleme von mir) lösen.