Долго не мог решить эту задачу и подсмотрел, что многие используют деление без остатка на 5. Не понимаю почему мы это здесь используем ? Разве решение которое не закомментировано не имеет схожий смысл ?
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());
// double number = t % 5;
// System.out.println(t);
if (t >= 0 & t < 3.0){
System.out.println("зелёный");
}else if (t >= 3.0 & t < 4.0){
System.out.println("жёлтый");
}else if (t >= 4.0 & t < 5.0) {
System.out.println("красный");
}else if (t > 5.0){
System.out.println("зелёный");
}
}
}