Horse Racing

  • 9
  • Недоступна
Уж лучше программировать, чем делать ставки... Тем не менее, скачки и прочие гонки прекрасно иллюстрируют многопоточность! Итак, разберитесь, что делает код, и реализуйте метод, который будет считать количество лошадей, пришедших к финишу. И ещё, нужно обязательно подождать, пока аутсайдеры также закончат гонку.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (184)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
nikitarad@bk.ru19 уровень, Москва
20 апреля, 10:26
Не догнал, это же вроде скачки: На каких скачках все лошади ждут ( join() ) пока прибежит одна?
nikitarad@bk.ru19 уровень, Москва
20 апреля, 10:24
Ыыы (досада). В методе "calculateHorsesFinished" при проверке на финиширование, нужно не просто проверить типа "horse.isFinished"(Хотя так работает тоже), а вызвать метод как собственно в требованиях указано - "horse.isFinished()".
АртемGeek18 уровень, Москва
14 мая, 11:13
Лол)) поставил скобочки к isFinished и задача прошла компиляцию, до этого сидел думал минут 5 уже, почему валидатор не принимает) Спасибо.
Алексей17 уровень
4 апреля, 10:16
Все что вы изучали по нитям и join в этой теме, вам не поможет решить эту задачу. Ищите на других ресурсах. Создателям видимо лень писать больше чем пара элементарных примеров.
Семён22 уровень, Екатеринбург
9 апреля, 16:38
Я ничего нового ни читал, всё вроде из материала, который нам давали. Чем Вы тут воспользовались новым?
Oleg Zaytsev23 уровень
30 марта, 12:19
а если третья лошадь придет первой?
Oleg Zaytsev23 уровень
30 марта, 15:02
компухтер сам все просчитал. Ничоси
Oleg Zaytsev23 уровень
30 марта, 11:42
уж лучше программировать чем делать ставки, жи есть +
Roman Afonin31 уровень, Санкт-Петербург
25 марта, 13:57
смешная задачка
NewBuy22 уровень, Санкт-Петербург
20 марта, 17:20
Какая-то бредовая задача, на мой взгляд
Alexandr Volchkov16 уровень, Киев
15 марта, 16:38
Даже понимая как решать не всегда сообразишь как это написать. Подсказка: Делаете цикл в котором перебираются лошади. Потом подключаете условие в if (если лошадь добежала) причислить её к добежавшим. Потом else if (А если не добежала) то сказать что мы ждем и ждать. Будьте внимательны и будет вам счастье со второй попытки=))
SoloH18 уровень
12 марта, 12:31
 три попытки потому что валидатор не принимает метод  isFinished() без скобок, хотя компилятор спокойно отрабатывает.
S20 уровень, Минск
15 марта, 12:13
Ваш метод "isFinished() без скобок" - это логическая переменная boolean isFinished, которая также объявлена в задаче (private boolean isFinished; ), поэтому компилятор и принимает ваш код. То есть вы на объекте вызываете не метод, а переменную с таким же именем. Метод не может быть без скобок! Как вы вообще дошли до этого уровня с незнанием этого?
SoloH18 уровень
16 марта, 21:01
Как то дошел не пропуская почти ни одного решения) Внимательность меня иногда подводит, но спасибо за коммент, увидел где затупил)
Денис26 уровень
9 мая, 17:25
Скажите пожалуйста, конкретно в этой задаче для чего создавать метод isFinished() ? Или только для реализации гетера?
Tanarri24 уровень
5 марта, 09:02
Кто мне пояснит, накой там нужен этот цикл: while (calculateHorsesFinished(horses) != horses.size()) { } в нем же будет всего 1 проход в текущих условиях //разобрался. Если каким то образом изменится Horse и перестанет всегда в isFinished() отдавать true если метод завершен, то цикл совершит более 1 итерации. Если же считать, что Horse останется как в этой задаче и никаких его наследников передаваться не будет, где isFinished() могло бы быть переопределено, то можно смело заменить while на if.