Весь цикл работы светофора длится 5 минут, цвета всегда идут в одном и том же порядке. Если из числа по порядку вычитать время действия сигналов, то в конце останется число попадающее в рамки соответствующего ему сигнала.
ввод =7.5 ;
7.5 - 3.0
4.5 - 1.0
3.5 - 1.0
2.5 < 3
"зелёный"
Текст выводится правильный, но условия не засчитываются.
package com.javarush.task.task04.task0416;
/*
Переходим дорогу вслепую
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
double t = Double.parseDouble(reader.readLine());
int x = 0;
while (x == 0) {
if (t > 3.0) {
t = t - 3.0;
if (t > 1.0) {
t = t - 1.0;
if (t > 1.0) {
t = t - 1.0;
}
else {
System.out.println("красный");
x = 1;
}
}
else {
System.out.println("жёлтый");
x = 1;
}
}
else {
System.out.println("зелёный");
x = 1;
}
}
}
}