if (!horse.isFinished()) {
System.out.println("Waiting for " + horse.getName());
horse.join();
}
countFinished++;
Валидатор упорно хочет, чтобы текущая лошадь посчиталась на следующей итерации цикла while, но ведь после выполнения join() мы гарантированно дождались завершения работы треда текущей лошади, а значит она финишировала, и можно ее посчитать. Или я что-то не так понимаю?hidden #598481
27 уровень
Почему валидатор не принимает такой вариант? Его глюки или мои?
Архивный
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Дмитрий
15 октября 2018, 10:42
Покажи полный листинг программы
0
hidden #598481
15 октября 2018, 10:46
Я ее уже сдал, просто засунув 23 строку в блок else. Но вопрос остался
+1
--------Master
15 октября 2018, 11:07
Как я понимаю, метод должен возвращать кол-во лошадей, финишировавших на момент вызова метода, а не в результате его работы
+1
hidden #598481
15 октября 2018, 11:19
Ну как вариант, но на мой взгляд все-таки спорный аргумент. Если какая-то лошадь финиширует не в момент вызова метода, а во время его выполнения, пока мы обрабатываем предыдущую лошадь, она же будет посчитана?
0
--------Master
15 октября 2018, 11:28решение
По логике, блок с ожиданием финиша в этом методе вообще лишний - судя по названию, метод должен именно только посчитать кол-во, но никак не влиять на него. Но это уже вопросы к авторам задачи))
+2
hidden #598481
15 октября 2018, 12:05
В общем-то главный мой вопрос был в том, правильно ли я понял тему в целом и задачу в частности. Не думаю, что услышу какие-то кардинально новые мнения, а все остальное - это проблемы валидатора :)
0