Где-то в моих 30 строках кода должна быть ошибка, но я не могу ее найти, и это сводит меня с ума.
Если я выполняю этот код, используя isLeapYear(2004)
, я получаю true
:
public class LeapYear {
public static void main(String[] args) {
isLeapYear(2004);
}
public static boolean isLeapYear (int year) {
boolean status = true;
if (year >= 0 || year <= 9999) {
if (year % 4 == 0){
status = true;
System.out.println("true");
} else if (year % 100 == 0){
status = true;
System.out.println("true");
} else if (year % 400 == 0) {
status = true;
System.out.println("true");
} else {
status = false;
System.out.println("false");
}
} else if (year < 0 || year > 9999){
status = false;
System.out.println("false");
}
return status;
}
}
Но если я запускаю его для isLeapYear(-1200)
, он также возвращает мне true
, но не должен.
Почему мой код обходится без else if (year < 0 || year > 9999)
?