0

我已经编写了一个测试闰年的代码,但希望添加一个修正来指示它是否在过去。为此,我添加了一个条件,即如果输入恰好是 2012 年或更大,那么现在时证明是正确的,否则它采用过去时。就目前而言,它忽略了这个限定符,只执行第一条语句。任何帮助完成这项工作将不胜感激。

代码如下

{
    int input;

    System.out.println("Enter year:");
    Scanner keyboard = new Scanner(System.in);
    input = keyboard.nextInt();

    while (input >= 2012){

    if ((input%4==0) && input%100!= 0)
    {
        System.out.println(input + " is a leap year.");
    }
    else if (input%400==0)
    {
        System.out.println(input + " is a leap year.");
    }
    else
    {
        System.out.println(input + " is not a leap year.");
      }
}
    while (input < 2012){

    if ((input%4==0) && input%100!= 0)
    {
        System.out.println(input + " was a leap year.");
    }
    else if (input%400==0)
    {
        System.out.println(input + " was a leap year.");
    }
    else
    {
        System.out.println(input + " was not a leap year.");
    }
}

}
}
4

2 回答 2

0

我认为你在这里错了—— 也while (input >= 2012)
用 ieif代替whileif (input >= 2012)
if (input <= 2012)

于 2012-09-23T08:42:47.470 回答
0

我认为您并不真正知道 while 循环的用途。这是一个循环,这意味着它会重复直到条件不满足。一个例子:

x=10
while(x!=0){ int dosomething = 1; x--}

此循环重复 10 次。因此,只需将您的 while 更改为 if,代码就可以正常工作。

于 2012-09-23T09:00:45.270 回答