Wie würde ich mit einer while-Schleife, um eine Benutzereingabe anfordern
Habe ich versucht, ein paar Dinge, die mit der while-Schleife und kann nicht scheinen, um es zu arbeiten. Ich möchte zu halten das anfordern von Benutzereingaben, bis der Benutzer die Eingänge die Zahl 0, hier ist der code, den ich bisher:
import java.util.*;
public class Task10 {
public static void main(String[] args) {
System.out.println("Enter a year to check if it is a leap year");
Scanner input = new Scanner(System.in);
int year = input.nextInt();
if ((year % 4 == 0) || ((year % 400 == 0) && (year % 100 != 0)))
System.out.println(year + " is a leap year");
else
System.out.println(year + " is not a leap year");
}
}
- Ihre Schaltjahr Logik ist falsch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie eine while-Schleife über Eingabe-Zeile wie:
Und verwenden Sie
if
Zustand zubreak
.Auch, Bedingung für
leap year
ist falsch im code. Es sollte sein:PS: Wie in den Kommentare, ich gebe ein komplettes code:
Sollten Sie platzieren Sie Ihre Eingabe unter code innerhalb einer while-Schleife aned ausführen while-Schleife, bis im Jahr ist 0 oder weniger.
year
lokale variable vonmain
, wenn es nicht erforderlich ist, außerhalb deswhile
- Schleife ?!rule of the thumb
. Ein paar LoC hat keine Auswirkung auf Projekt, aber Gültigkeitsbereich von Variablen und Speicher usw. macht einen großen Unterschied.Müssen Sie etwas tun, halten Sie die Eingabe-Schleife läuft solange, bis ein Stopp-Zustand aufgetreten ist (was in Ihrem Fall ist, dass, wenn der Benutzer Eingaben
0
)