Не проходит последнее условие: Если numSeconds равно 4, то программа должна вывести "4 3 2 1 Прервано!".
Помогите разобраться, не могу додуматься
Если поставить numSeconds = 4, выводит обрывочно "4 3 2 Прервано!"
Спасибо :)
ublic class Solution {
public static volatile int numSeconds = 3;
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 {
if (numSeconds == 3) {
for (int i = numSeconds; i > 0; i--) {
Thread.sleep(1000);
numSeconds--;
System.out.print(i + " ");
}
System.out.println("Марш!");
}
if (numSeconds > 3) {
for (int i = numSeconds; i > 0; i--) {
Thread.sleep(1000);
numSeconds--;
System.out.print(i + " ");
}
System.out.println("Прервано!");
}
} catch (InterruptedException e) {
System.out.println("Прервано!");
}
}
}
}
package com.javarush.task.task16.task1617;
/*
Отсчет на гонках
*/
public class Solution {
public static volatile int numSeconds = 3;
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 {
if (numSeconds == 3) {
for (int i = numSeconds; i > 0; i--) {
Thread.sleep(1000);
numSeconds--;
System.out.print(i + " ");
}
System.out.println("Марш!");
}
if (numSeconds > 3) {
for (int i = numSeconds; i > 0; i--) {
Thread.sleep(1000);
numSeconds--;
System.out.print(i + " ");
}
System.out.println("Прервано!");
}
} catch (InterruptedException e) {
System.out.println("Прервано!");
}
}
}
}