Java Syntax 4 уровень, 4 лекция Работа светофора для пешеходов запрограммирована следующим образом: в начале каждого часа в течение трех минут горит зелёный сигнал, затем в течение одной минуты - жёлтый, а потом в течение одной минуты - красный, затем опять зелёный горит три минуты и т. д. Ввести с клавиатуры вещественное число t, означающее время в минутах, прошедшее с начала очередного часа. Определить, сигнал какого цвета горит для пешеходов в этот момент. Результат вывести на экран в следующем виде: "зелёный" - если горит зелёный цвет, "жёлтый" - если горит жёлтый цвет, "красный" - если горит красный цвет. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class TrafficLights2 { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String s = reader.readLine(); double a = Double.parseDouble(s); String color = null; double countGreen = 0; double countYellow = 0; double colorCountRed = 0; int colorFlag = 1; for (double i = 0; i <= a; i += 0.1) { if ((countGreen < 3) & (colorFlag == 1)) { color = "зеленый"; countGreen += 0.1; } else { countGreen = 0; colorFlag = 2; if ((countYellow < 1) & (colorFlag == 2)) { color = "желтый"; countYellow += 0.1; } else { countYellow = 0; colorFlag = 3; if ((colorCountRed < 1) & (colorFlag == 3)) { color = "красный"; colorCountRed+=0.1; } else { colorCountRed = 0; colorFlag = 1; } } } } System.out.println(color); } } Или через switch в цикле(тоже результат не попадает в четкие границы...): import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class TrafficLights { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String s = reader.readLine(); double a = Double.parseDouble(s); String color = null; double countGreen = 0; double countYellow = 0; double countRed = 0; int colorFlag = 1; for (double i = 0; i <= a; i += 0.1) { switch (colorFlag){ case (1): if (countGreen < 3) { color = "зеленый"; countGreen += 0.1; } else { countGreen = 0; colorFlag = 2; a += 0.1; } break; case (2): if (countYellow < 1) { color = "желтый"; countYellow += 0.1; } else { countYellow = 0; colorFlag = 3; a += 0.1; } break; case (3): if (countRed < 1) { color = "красный"; countRed += 0.1; } else { countRed = 0; colorFlag = 1; a += 0.1; } break; } } System.out.println(color); } }