Моё решение
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
double t = Double.parseDouble(name);
//System.out.println(t);
while (t >= 5){
t = t -5;
}
//System.out.println(t);
if((t>= 0)&&(t<=2.9))
System.out.println("зелёный");
if ((t>=3)&&(t<=3.9))
System.out.println("жёлтый");
if ((t>=4)&&(t<=4.9))
System.out.println("красный");
}
}
Ольга Пронина
12 уровень
Почему моё решение не верно?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
LindX Java Developer в Home
5 августа 2021, 05:48
1. Используй Scanner - у него есть методы для работы с токенами. bufferedreader не удобен тут
2. сделай проверку границ в пределах больше 0 и меньше 3.0 и далее от 3.0 до 4.0 и от 4.0 до 5.0.
Соответственно твоя ошибка в том что ты границы поставила :
но я могу задать 2.955566555 итд.
Двоная точноть предполагает числа в 64 bit ячейке а это от ±4.9*10-324 до ±1.8*10308
+1
hidden #2460969
4 августа 2021, 11:59
потому что если я введу 2.99, то ничего не выведет на экран.
правильнее было бы писать так:
t >= 0 && t < 3
+4