我遇到了我所在的实验室的哨兵控制循环结构的问题。我应该制定一个程序来确定一年是闰年还是常年。到目前为止,我的教授说我有布尔逻辑和输入正常,但我无能为力如何设置一个前哨控制的while循环,一直要求输入,直到用户为程序提供触发EOF命令的值为止终止程序。
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner S = new Scanner(System.in);
System.out.println("Enter a year (0 to end)?");
int year = S.nextInt();
if (year > 1752) {
if (((year%4)== 0) && ((year%100)==0) && ((year%400)==0)) {
System.out.print("Leap Year");
} else if (((year%4)== 0) && ((year%100)==0) && ((year%400)!=0)) {
System.out.println("Regular Year");
} else if ((year%4)== 0) {
System.out.print("Leap Year");
}
else
System.out.print("Regular Year");
}
else
System.out.print ("Please enter a year after 1752");
}
}
答案 0 :(得分:0)
您有多种解决方案,在您的情况下,最合适的可能是do..while
声明:
do
{
// your code
}
while (condition); // condition to keep looping: input year not zero