Can someone please let me know what is wrong with my code? I have tried many variants but none seem to be working. I am missing some information regarding how the modulo operator works?
import java.io.*;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws Exception {
double number1 = 0;
BufferedReader t = new BufferedReader(new InputStreamReader(System.in));
String number = t.readLine();
number1 = Double.parseDouble(number);
if ((number1 % 5) >= 0 || (number1 % 5) <= 2.9 ){
System.out.println("green");
}
else if ((number1 % 5) >= 3 || (number1 % 5) <= 3.9){
System.out.println("yellow");
}
else if ((number1 % 5) >= 4 || (number1 % 5) <= 4.9){
System.out.println("red");
}
}
}
package com.codegym.task.task04.task0416;
/*
Crossing the road blindly
*/
import java.io.*;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws Exception {
/*00:00-00:03 - green
00:03-00:04 - yellow
00:04-00:05 - red
00:05-00:08 - green
00:08-00:09 - yellow
00:09-00:10 - red
00:10-00:13 - green
00:13-00:14 - yellow
00:14-00:15 - red
00:15-00:18 - green
00:18-00:19 - yellow
00:19-00:20 - red
00:20-00:23 - green
00:23-00:24 - yellow
00:24-00:25 - red
Verdele este de la 00, 05, 10, 15, 20 dureaza 3 minute
Galbenul - 03, 08, 13, 18, 23
Rosu - 04, 09, 14, 19, 24
*/
double number1 = 0;
BufferedReader t = new BufferedReader(new InputStreamReader(System.in));
String number = t.readLine();
number1 = Double.parseDouble(number);
if ((number1 % 5) >= 0 || (number1 % 5) <= 2.9 ){
System.out.println("green");
}
else if ((number1 % 5) >= 3 || (number1 % 5) <= 3.9){
System.out.println("yellow");
}
else if ((number1 % 5) >= 4 || (number1 % 5) <= 4.9){
System.out.println("red");
}
}
}