0

我所在实验室的哨兵控制循环结构有问题。我应该编写一个程序来确定一年是闰年还是平年。到目前为止,我的教授说我的布尔逻辑和输入正常,但我不知道如何设置一个哨兵控制的 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");
    }
}
4

1 回答 1

0

您有多种解决方案,在您的情况下,最合适的可能是do..while声明:

do
{
  // your code
}
while (condition); // condition to keep looping: input year not zero
于 2013-09-19T02:18:55.877 回答