package com.javarush.task.task16.task1626;
public class Solution {
public static int number = 5;
public static void main(String[] args) {
new Thread(new CountdownRunnable(), "Уменьшаем").start();
new Thread(new CountUpRunnable(), "Увеличиваем").start();
}
public static class CountUpRunnable implements Runnable {
private int countIndexUp = 0;
@Override
public void run() {
while(Thread.currentThread().isAlive()) {
try {
Thread.sleep(500);
++countIndexUp;
System.out.println(toString());
if (countIndexUp == Solution.number) return;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@Override
public String toString() {
return Thread.currentThread().getName() + ": " + countIndexUp;
}
//Add your code here - добавь код тут
}
public static class CountdownRunnable implements Runnable {
private int countIndexDown = Solution.number;
public void run() {
try {
while (true) {
System.out.println(toString());
countIndexDown -= 1;
if (countIndexDown == 0) return;
Thread.sleep(500);
}
} catch (InterruptedException e) {
}
}
public String toString() {
return Thread.currentThread().getName() + ": " + countIndexDown;
}
}
}
Дмитрий
20 уровень
Почему не принимает решение
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Александр
7 марта 2021, 22:31решение
Надеюсь решил ты).
Если нет, то лови подсказку:
1. В переменной countIndexUp - поставь 1. - т. к. отчет с единицы
2. if (countIndexUp == Solution.number) return; - сделай больше и поставь задержку потока на 500 мс
3. Задержку перенеси сверху ниже п. 2 данного смс))
Вывод: ГОТОВО!))
+3
АлександрExpert
16 августа 2019, 11:53
Когда я решал, последовательность была такая, принт -> инкремент -> слип.
+5