Я уже понял, что задача решается легче (через деление с остатком) и все же, пожалуйста кто-нибудь может объяснить что тут не так?
Вроде даже подставлял различные значения и выдавал правильные значения
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 br = new BufferedReader(new InputStreamReader(System.in));
String minute_str = br.readLine();
double t = Double.parseDouble(minute_str);
double x = 0;
while(x<=55.0)
{
if (t>=(0.0+x) && t<(3.0+x))
{
String green = ("зелёный");
System.out.println(green);
}
else if (t>=(3.0+x) && t<(4.0+x))
{
String yellow = ("жёлтый");
System.out.println(yellow);
}
else if (t>=(4.0+x) && t<(5.0+x))
{
String red = ("красный");
System.out.println(red);
}
x=x+5.0;
}
//напишите тут ваш код
}
}