Immer mein Programm zurück zu gehen, um die "top" - (if-Anweisung) (Java)
Ich habe ein Programm um zu berechnen, Schaltjahr, jedoch, es funktioniert nur Vergangenheit um das Jahr 1750, also ich möchte, dass meine Benutzer nur in der Lage sein, um zahlen einzugeben Vergangenheit 1750.
System.out.println("Enter a year after 1750:");
leapYear = in.nextInt();
if(leapYear<1750){
System.out.println("You have entered a year before 1750, please try again :");
leapYear = in.nextInt();
}
Meine Lösung war es, eine if-Anweisung. Ich merke jedoch, dass dies nur funktioniert, wenn der Benutzer Eingaben etwas unterhalb 1750 einmal. wenn Sie es wieder tun, das Programm wird weitergehen. Gibt es eine Möglichkeit, kann ich die Anweisung ausführen ", den Sie eingegeben haben, ein Jahr vor 1750, bitte versuchen Sie es erneut :" wie viele Male, wie ich benötige, ohne neu zu schreiben?.
Ich dachte, vielleicht eine while-Anweisung könnte funktionieren (wenn eine while-Anweisung funktioniert wie könnte ich es tun, ohne dass es zu einer endlos-Schleife)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist auf dem richtigen Weg mit einer while-Anweisung. Es ist ziemlich einfach, um es zu halten Ausführung unendlich. Sobald der Benutzer einen korrekten Jahr, wird die Schleife Bedingung wird zu false ausgewertet und beendet.
Könnten Sie auch versuchen, eine
do-while
Schleife zu reduzieren auf wiederholte-code:Wird der Benutzer nur reprompted zu geben ein Jahr nach 1750, die Pflege übernimmt, dass eine Fehlermeldung.
do-while
Schleife.do{
zu ziehen, bis die Bedingung... 🙂statt: