Java - Eingabe in while-Schleife zurücksetzen?

4 Antworten

Das ist reiner missbrauch einer while Schleife ;)

Und du brauchst nur eine Variable nicht 2.

Btw das ist Java nicht C++, prüfe also bei parseInt auf eine Exception falls eingabe nicht konvertiert werden kann.

while(1)
{
  string eingabe = sc.next();
  a = Integer.parseInt(eingabe);
  if(a == 1 || a == 2)
   break;
  else
   System.out.println("Falsche Eingabe");
}
restlicher code.

Das Programm läuft so lange in der while schleife wie du eine Zahl ungleich 1 oder 2 eingibst.

Natürlich kannst du die If Anweisung auch durch ein switch ersetzen. Dann wird aber das Aussteigen aus der schleife ohne goto nur mit einer Hilfsvariable möglich.

Du musst natürlich dem Anwender auch die Chance geben einen anderen Wert einzugeben. Bei dir wird der Wert nur einmal eingelesen und in der Schleife erfolgt nur noch eine Ausgabe.

OT:
Das ist offensichtlich JAVA und in Deinen Themen steht auch nur Java. Warum schreibst Du dann C++ vor die Frage?

du baust die while schleife in eine fußgesteuerte do while schleife um und  nimmst die Eingabe mit in die schleife fertig