Все цвета кроме красного работают хорошо. Логика такая: 1. в 60 минутах зеленый горит в числахс окончаниями 0,1,2,5,6,7 2. в 60 минутах желтый горит в числах с окончаниями 3,8 3. в 60 минутах красный горит в числах с окончаниями 4,9 Если вкратце что происходит в коде: 1. получаем с ввода клавы строку 2. условия, если попадаем в интервал минут с 0 по 2.9 или с 5 по 7.9 => горит зеленый если попадаем в интервал с 3 по 3.9 или с 8 по 8.9 => горит желтый если попадаем в интервал с 4 по 4.9 или 9 по 9.9 => горит красный
if (timeLength > 1 && timeLength <= 2) {
    t = Character.getNumericValue(time.charAt(timeLength - 1));
}
это если целое двухзначное
else if (time.length() >= 4) {
    String newT = time.substring(1, timeLength);
    t = Double.parseDouble(newT);
}
это если ввели с плавающей точкой