0

我目前正在学习 Java,但在这里理解 switch 的使用时遇到了一些问题。如果有人能简单地向我解释一下,我将不胜感激。所以这里是代码:

 public class SwitchDemo2 {
 public static void main(String[] args) {
int month=3; 
int year=2000;
int NumDays=0;
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10:
case 12: NumDays=31; break;
case 4: case 6: case 9: case 11: NumDays=30;
break;
case 2: if ( ( (year%4 == 0) && !(year%100==0) ) ||
(year%400==0))
    NumDays=29;
else NumDays=28;
break;
default: System.out.println("Invalid month.");
break;}
System.out.println("Number of Days= "+NumDays);
 }}

我不明白的是案例 2 之后的定义。“year%4==0” - 好吧,这是有道理的,那是闰年,但是 !(year%100==0) 或 (year%400 ==0) ? 我们为什么要使用它?

提前致谢!

4

1 回答 1

1

根据闰年的定义:

如果 year 可以被 400 整除,那么 is_leap_year else 如果 year 可以被 100 整除,那么 not_leap_year else 如果 year 可以被 4 整除,那么 is_leap_year else not_leap_year

于 2014-02-10T15:20:19.393 回答