JavaRush /Курсы /Java Core /Задача на join

Задача на join

Java Core
6 уровень , 5 лекция
Открыта

— Привет, Амиго!

4
Задача
Java Core, 6 уровень, 5 лекция
Недоступна
join
join
18
Задача
Java Core, 6 уровень, 5 лекция
Недоступна
Horse Racing
Horse Racing
9
Задача
Java Core, 6 уровень, 5 лекция
Недоступна
Продвижение на политических дебатах
Продвижение на политических дебатах
4
Задача
Java Core, 6 уровень, 5 лекция
Недоступна
Справедливость
Справедливость
9
Задача
Java Core, 6 уровень, 5 лекция
Недоступна
Расставь вызовы методов join()
Расставь вызовы методов join()
Комментарии (334)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
20 февраля 2026
FosTeR, догоняй!
FosTeR Уровень 28
22 февраля 2026
🖐Здесь я=)
28 октября 2025
про кошек и котят вообще не понял смысл задачи
Anonymous #3585174 Уровень 33
21 августа 2025
like
Victor Уровень 40
9 апреля 2025
"join: в нужное время в нужном месте" . Не понятно было откуда берётся метод "getName". Но если поставить туда "this.getName()" - тогда ещё можно как-то догадаться.
28 октября 2025
ctrl + лкм + intellij idea тебе в помощь
Anonymous #3341309 Уровень 33
5 февраля 2025
В одной задаче принимает var, в другой нет... И главное не указывает в чем проблема, просто "Задача не компилируется на сервере"... Не повторяйте моих ошибок, пишите явно)
Victor Уровень 40
9 апреля 2025
Проблема в валидаторе - часть проверок писалось ещё для старых версий Java (до 9 включительно), которые var не понимали. Таким образом можно изучать историю проекта. Старые задачи более интересные/хитровыдуманные.
Andrey Уровень 34
12 ноября 2024
Очень хорошая задачка про мышей ОБЯЗАТЕЛЬНО ПОСМОТРИТЕ на ней прям сразу видно свойства нитей - рандомность их запуска - порядка нет и не будет. Сколько не запускай нить1.старт нить2.старт нить3.старт порядок по факту всегда разный. ЗЫ. остальные задачи муть какая-то даже сам не понял как решил))) и чему про что они мало понятно)
NightCrow Уровень 27
30 октября 2024
Зачем повторно прогонять цикл с подсчетом прибежавших лошадей, если можно добавить еще одну проверку и увеличить счетчик сразу. Правда тогда придется отказаться от for each. else { System.out.println("Waiting for " + horses.get(i).getName()); horses.get(i).join(); if (horses.get(i).isFinished()){ finishedCount++; }
13 ноября 2024
Там одного цикла достаточно, я так понимаю после того как отработал join() управление вернулось к вызывающему коду, то есть к циклу for-each

public static int calculateHorsesFinished(List<Horse> horses) throws InterruptedException {
        int finishedCount = 0;
        for (Horse h : horses) {
            if (h.isFinished()) finishedCount++;
            else {
            System.out.println("Waiting for " + h.getName());
            h.join();
            }
        }
        return finishedCount;
    }
{Java_Shark} Уровень 36
11 октября 2024
++
FolFix Уровень 38
7 сентября 2024
Что-то у нас Амиго стал игнорить Диего, когда он дает ему задания
NordØne Уровень 34
16 июля 2024
Впервые я решил сам задачу уровня Hard без подсмотра в правильное решение. Считаю, это прогресс.

beer.open();
Kransbect Уровень 1
2 августа 2024
Поддерживаю такой код. Нужно будет написать свой класс Beer с методом open(int liter);
Кялов Юрий Уровень 25 Expert
30 августа 2024
Кажется, что метод open не должен принимать никаких аргументов на вход, а вот конструктор класса Beer будет выглядеть так Beer(int liter) даже думаю Beer(BigInteeger liter), а самое главное, давайте не забывать про метод drink(), который будет вычитать по литру через определенное время. Думаю весь класс будет выглядеть вот так

public static class Beer implements Runnable{
    private BigInteger value;
    
    public Beer(BigInteger liter){
        this.value = liter;
    }
    
    public void drink(){
        if (!value.equals(BigInteger.ZERO)){
            value = value.remainder(BigInteger.ONE)
        }
        else{
            System.out.println("Beer is empty")
        }
    }
    
    public void run(){
        while (!value.equals(BigInteger.ZERO)){
            drink();
            Thread.sleep(1);

        }
    }
}
Думаю тут есть косяки, но все мы еще разбираемся)