Как я могу проверить месяц и если он не верный, то поменять его ? Используя метод getMonth() на первой дате мне возвращает 0 ( где месяц указан 12). Допустип ОК, я просто отниму -1, НО ! Тогда у предпоследней даты будет неправильный месяц
dateList.add(new Date(1989, 11, 9));
Товарищи нужна помощь в написание правильного условия для месяца. Посмотрел готовый ответ и там тоже проблема с месяцем. Валидатор конечно принял, но хочется узнать как можно решить согласно условию. Склоняюсь к тому, что нужно использовать другие классы Мой код, валидатор хоть и принял, но он неверный ( не может коректно посчитать месяц ):
public class Solution {

    public static void main(String[] args) {
        List<Date> dateList = new ArrayList<>();
        dateList.add(new Date(2015, 12, 25, 20, 40));
        dateList.add(new Date("July 20, 1969"));
        dateList.add(new Date(1989, 11, 9));
        dateList.add(new Date("January 1, 2000"));

        System.out.println("before fixes:");
        dateList.forEach(System.out::println);

        fixDate(dateList);

        System.out.println("after fixes:");
        dateList.forEach(System.out::println);

    }

    static void fixDate(List<Date> brokenDates) {
        //напишите тут ваш код
        Date nowDate = new Date();
        for (int i = 0; i < brokenDates.size(); i++) {
            if ( (brokenDates.get(i).getTime() > nowDate.getTime())) {
                System.out.println(brokenDates.get(i).getMonth());
                brokenDates.get(i).setYear(brokenDates.get(i).getYear() - 1900);
                brokenDates.get(i).setMonth(brokenDates.get(i).getMonth()-1);
            }
        }
    }
}