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 s = reader.readLine();
float i = Float.parseFloat(s);
float c = i % 5;
//System.out.println(c);
if (0 <= c && c < 3) {
System.out.println("зелёный");
}
if (3 <= c && c < 4) {
System.out.println("жёлтый");
}
if (4 <= c && c < 5) {
System.out.println("красный");
}
//напишите тут ваш код
}
}
NexusBlackHeart
8 уровень
Почему не проходит проверку зелёный? Писал в приложении с телефона.
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Pavel KurashovExpert
14 ноября 2019, 04:51
требуется точность double
+2
NexusBlackHeart
14 ноября 2019, 05:24
Уже пробовал. Заменил на double. Но результат тот же. Не проходит только "зелёный". Пробовал через вложенные условия проверки if else, тоже нет результата. Пробовал "зеленый", тоже не проходит.
0
Pavel KurashovExpert
14 ноября 2019, 05:37
сейчас посмотрел своё решение, у меня прошло с float, так что не в этом дело.
И у меня через If else, но тут я тоже не вижу разницы
Давай всё-таки переделай в double:
для значения 2.9999999 float уже переключается на жёлтый, а double он всё ещё зелёный.
+1
NexusBlackHeart
14 ноября 2019, 06:18
Действительно ошибка в double. Но к тому же я забыл конвертацию в double пепевести.
Так стыдно...
Было:
Float.parseFloat(s);
Стало:
Double.parseDouble(s);
Спасибо за совет.
0