Когде опустил руки то копипастил чужие коды и смотрел и сравнивал и оказалось в итоге что мой изначальный самый первый код был правильны!
HashMap.Entry<String, Date> pair = iterator.next();
if (pair.getValue().getMonth() > 4 && pair.getValue().getMonth() < 8)
iterator.remove();
у меня были промежутки между 5 и 9
так как июнь у нас 6 июль 7 и август 8. и у меня не проходило валидацию.
в чужом коде видел промежуток 4 < mount < 8 посмеялся и когда с такими числами прошла валидация офигел, ведь эти условия захватывают промежуток с 5,6,7.
Объясните пожалуйста как так получается, не хочется в уйти не разобравшись????
Mikhail Kokorin
18 уровень
целый день мучался и искал ошибку!!!!!!!!
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Стас Пасинков Software Developer в Zipy Master
18 апреля 2019, 09:49полезный
да, досадно когда потрачен целый день, перепробовал кучу вариантов... а достаточно было просто внимательно прочитать лекции, где обращали внимание на этот момент с месяцами в классе Date
+1
Mikhail Kokorin
18 апреля 2019, 21:12
Да, действительно пересмотрел лекцию с Date и нашел в коде комментарий что исчисление начинается с 0. Спасибо.
0
RiccioMaster
18 апреля 2019, 07:59решение
Номерация месяцев идет с нуля.
0 = январь
...
5 = июнь
6 = июль
7 = август
+3
Mikhail Kokorin
18 апреля 2019, 21:14
Спасибо, большое, одно дело решить задачу, другое до конца разобраться, что бы в будущем не было проблем и вопросов!
0