Не первый, не второй вариант не проходит валидацию. Хотя прошелся тестами от -3 до +15, вроде соответствует условиям задачи.
package com.javarush.task.task04.task0416;
/*
Переходим дорогу вслепую
*/
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String tStr = reader.readLine();
float tFloat = Float.parseFloat(tStr);
int num = (int) Math.floor(tFloat); // Окргуление до целого числа в нижнюю сторону
int newNum = num % 5;
// V1
if (tFloat >= 0) {
if ((newNum >= 0) && (newNum <=2)) {
System.out.println("зелёный");
} else if (newNum == 3) {
System.out.println("жёлтый");
} else if (newNum == 4) {
System.out.println("красный");
}
}
// V2
// if(newNum == 3){
// System.out.println("жёлтый");
// } else if (newNum == 4) {
// System.out.println("красный");
// } else {
// System.out.println("зелёный");
// }
}
}