package com.javarush.test.level16.lesson10.task02; /* Отсчет на гонках 1. Разберись, что делает программа. 2. Реализуй логику метода run так, чтобы каждую секунду через пробел выдавался отсчет начиная с countSeconds до 1, а потом слово [Марш!] (см примеры). 3. Если нить работает 3.5 секунды или более, прерви ее методом interrupt и внутри нити выведи в консоль слово [Прервано!]. Пример для countSeconds=4 : [4 3 2 1 Прервано!] 4. Если нить работает менее 3.5 секунд, она должна завершиться сама. Пример для countSeconds=3 : [3 2 1 Марш!] PS: метод sleep выбрасывает InterruptedException. */ public class Solution { public static volatile int countSeconds = 4; public static void main(String[] args) throws InterruptedException { RacingClock clock = new RacingClock(); //add your code here - добавь код тут Thread.sleep(3500); clock.interrupt(); } public static class RacingClock extends Thread { public RacingClock() { start(); } public void run() { //add your code here - добавь код тут while(true) { if (countSeconds == 0) { System.out.print("Марш!"); break; } System.out.print(countSeconds + " "); countSeconds--; try { Thread.sleep(1000); } catch (InterruptedException e) { System.out.print("Прервано!"); break; } } } } }
Leave A Comment