Перепробовал все, прочитал все ответы здесь, но так и не понял, что нужно валидатору в этой задаче. Вывод правильный при любых условиях.
package com.javarush.task.task16.task1617;
/*
Отсчет на гонках
*/
public class Solution {
public static volatile int numSeconds = 10;
public static boolean isWritten = false;
public static void main(String[] args) throws InterruptedException {
RacingClock clock = new RacingClock();
Thread.sleep(3500);
clock.interrupt();
}
public static class RacingClock extends Thread {
public RacingClock() {
start();
}
public void run() {
try{
while (!isInterrupted()){
if (numSeconds == 0) {
if (!isWritten){
System.out.println("Марш!");
isWritten = true;
this.interrupt();
break;
}
}
else System.out.println(numSeconds);
numSeconds--;
Thread.sleep(1000);
}
}catch (InterruptedException e){
if (!isWritten) System.out.println("Прервано!");
}
}
}
}