@Williboy

Почему не отрабатывается первое условие?

Создал два класса для проверки високосности года для интервала от 1 до 9999.
в первом классе идет проверка високосный ли год, во втором классе описан метод проверки.
суть вопроса в том, что в 1 классе не отрабатывается условие проверки интервала. По сути если год не соответствует интервалу условие должно прерываться и выводить "превышен порог", но он даже не проверяется. можно ли это решить без изменения кода во втором классе?
1 класс:
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        LeapYearCalculator isYear = new LeapYearCalculator();
                Scanner  inputYear = new Scanner(System.in);
        System.out.println("Введите Год");
        int  year = inputYear.nextInt();
        boolean a = isYear.isLeapYear(year);

        if(year >= 10000 && year <= 0){
            System.out.println("превышен порог");
        } else if (a) {
            System.out.println("этот год высокосный");
        } else {
            System.out.println(" это обычный год");
        }
    }
}


2класс:
public class LeapYearCalculator {

    public static boolean isLeapYear(int year){
        if(year <= 1 || year >= 9999 ){
            return false;
        } else if((year % 400 == 0 )){
            return true;
        }else if(year % 100 == 0){
            return false;
        }else return year % 4 == 0;
    }
}
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
xez
@xez Куратор тега Java
TL Junior Roo
if(year >= 10000 && year <= 0)
Тут написано: если год больше или равен 10000 И год меньше или равен 0
Никакое число не может быть больше 10000 и меньше 0 одновременно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы