сабж
Александр
41 уровень
Что не так?
Решен
Комментарии (16)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
АлександрFull Stack Developer в VTB
19 декабря 2017, 14:55
Прошел задачу. Потихоньку развиваю телепатию.
в getNumberOfAttemptToSolveTask и getNumberOfSuccessfulAttemptToSolveTask
меняем порядок условий на
А в getAllSolvedTasksAndTheirNumber и getAllDoneTasksAndTheirNumber
просто забыл проверку на null для дат. Спасибо мне за очередное решение!
0
Roman Java Developer Expert
19 декабря 2017, 15:53
Выложи код этих двух методов, пожалуйста.
0
АлександрFull Stack Developer в VTB
19 декабря 2017, 15:58
0
Roman Java Developer Expert
19 декабря 2017, 14:34
Запустил твой метод getNumberOfAttemptToSolveTask(int, Date, Date) на тестовом файле:
и получил:
0
АлександрFull Stack Developer в VTB
19 декабря 2017, 14:46
Это уже прошло валидацию.
и
0
АлександрFull Stack Developer в VTB
19 декабря 2017, 14:53
значит там нет файла или данные не по формату.
0
Roman Java Developer Expert
19 декабря 2017, 14:57
Тестирую на коде (все остальное как в предыдущий раз):
У тебя вывод одинаковый - неправильно для случая с заданными датами:
0
АлександрFull Stack Developer в VTB
19 декабря 2017, 14:58
это все не важно, валидатор принял)
0
АлександрFull Stack Developer в VTB
19 декабря 2017, 14:59
Спасибо за помощь!
0
Roman Java Developer Expert
19 декабря 2017, 15:02
Не за что. Валидатором был принят неправильный вариант?
0
АлександрFull Stack Developer в VTB
19 декабря 2017, 15:04
Нет, я уже нашел ошибку. В getAllSolvedTasksAndTheirNumber и getAllDoneTasksAndTheirNumber
просто забыл проверку на null для дат.
0
АлександрFull Stack Developer в VTB
19 декабря 2017, 14:30
Но пока еще 2 последние функции не пропускает, что делать?
0
АлександрFull Stack Developer в VTB
19 декабря 2017, 14:30
Спасибо мне за решение. Оказалось, что это глючное УГ, под названием валидатор ругался на порядок условий. Поменял на
и пропустило.
0
Roman Java Developer Expert
19 декабря 2017, 16:32
Валидатор тут не при чем. Порядок условий играет важную роль!
При использовании &&, если одно из первых условий не выполняется, то до следующих даже не дойдет. В этом твоя ошибка.
Если ты сначала проверяешь номер задачи, то у некоторых record он может быть null и ты получишь исключение (если протестируешь свой код), а если сначала проверить event, то у тех record, у которых record.event == Event.SOLVE_TASK всегда есть номер задачи. Либо, если хочешь именно такой порядок, то перед проверкой record.taskNumber == task проверяй record.taskNumber != null.
+2
АлександрFull Stack Developer в VTB
20 декабря 2017, 07:05
Это уже косяк архитектуры. Не должен я думать, получу NPE или нет в if
-2
АлександрFull Stack Developer в VTB
19 декабря 2017, 13:56
Утомляет угадайка. Ментор пишет
Метод getNumberOfAttemptToSolveTask(int, Date, Date) класса LogParser должен правильно возвращать количество попыток решить задачу с номером task за период с null по null.
С нулами работает корректно. Что не так?
0