сначала код был маленький ,но все равно некоторые условия не срабатывали ,поэтому начал увеличивать код и вот до чего дошел . посмотрите кто может и знает .
не работает зелёный ,хотя при проверке срабатывает зелёный
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));
//приведение из текстового ввода к числу с точкой
double b=Double.parseDouble(reader.readLine());
//приведение числа с точной к integer
int t=(int) b;
//изначально свет не горит
boolean lightG = true;
boolean lightR=false;
boolean lightY=false;
//объявление списка с числами для желтого и красного
int[] yellow=new int[t+1];
int[] red=new int[t+1];
//добавление в списки чисел
for (int i=0, j = 3, c = 4; i < t || c < yellow.length || j < red.length;i++, j += 5, c += 5)
{
if(c<=yellow.length || j<=red.length)
{
yellow[i]=j;
red[i]=c;
}
}
//проверка совпадения ввода с числом из списка
for(int colorR:red)
{
if (colorR==t)
{
//если число есть в списке Красный- горит красный
lightR=true;
}
}
//проверка совпадения ввода с числом из списка
for(int colorY:yellow)
{
if (colorY==t)
{
//если число есть в списке Желтый- горит желтый
lightY=true;
}
}
//проверка света
if(lightY)
{
lightG=false;
System.out.println("желтый");
}else if(lightR)
{
lightG=false;
System.out.println("красный");
} else if (lightG)
{
System.out.println("зелёный");
}
}
}