while(countSeconds>0){
try {System.out.print(countSeconds + " ");
Thread.sleep(1000);countSeconds--;} catch (InterruptedException e) {
System.out.println("Прервано!");
break;}
}
if(countSeconds==0)System.out.println("Марш!");
- это основной кусок моего решения, где я прерываю выполнение цикла в блоке catch(), решение принимает валидатор, но верное ли это решение?
Не правильней ли будет в цикле while() добавить условие проверки закрытия потока? Если да, то что там должно быть ?ALexey Bulaev
35 уровень
Объясните решение
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Максим Кобыляков
6 апреля 2018, 02:57
да и в самом деле код читать невозможно
0
Максим Кобыляков
6 апреля 2018, 02:56
Полезное замечание обернуть сам цикл в try {} catch () {}, хотя можно обойтись и без этого, но тогда надо выйти из цикла, иначе цикл досчитает до 0 и без дополнительных телодвижений будет "марш!" чего нельзя по условию. К слову валидатор не все проверяет потому как у меня приняли вариант который может выдать:
"5 4 3 2 Прерван!
1"
0
Сергеев ВикторMaster
4 апреля 2018, 10:57
Почитайте про форматирование кода... Я ваш блок catch искал минуту в 10 строках кода...
По коду, да так делают. Вы сами описываете логику прерывания нити. Правда мне больше нравиться сам while обернуть в try-catch, тогда break не нужен
+1