Объясните почему так? ведь по логике все правильно. и результат программа выдает верный. пробовал менять в проверке условия с (num < 3.0) на (num >= 0.0 && num < 3.0) и т.д. Но без изменений!
package com.javarush.task.task04.task0416;
/*
Переходим дорогу вслепую
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String sNum = reader.readLine();
double num = Double.parseDouble(sNum);
String light = null;
if (num > 5.0) {
num %= 5.0;
//System.out.println(num);
}
if (num < 3.0) {
light = "зелёный";
} else if (num < 4.0) {
light = "жёлтый";
} else {
light = "красный";
}
System.out.println(light);
}
}