解决方案 »

  1.   

    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
      

  2.   

    year%4==0&&year%400==0||year%100!=0
    相当于
    (year%4==0&&year%400==0)||year%100!=0
    只有100,200,300等才满足要求最好写成
    year % 400 == 0 || year % 4 == 0 && year % 100 != 0
      

  3.   

        if (month == 2) {
            if (year % 4 == 0 && (year % 400 == 0 || year % 100 != 0)) {
                u = 29;
            } else {
                u = 28;
            }
      

  4.   


    year%4==0&&year%400==0||year%100!=0
    这个改一下:year %400==0 || year%4==0&&year%100!=0