Как я могу проверить месяц и если он не верный, то поменять его ? Используя метод 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);
}
}
}
}