Не работает при z=0.1 но работает при любом другом значении z, например при z =0.5 все считает верно и выводит значение зелёный.
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));
double a = Double.parseDouble(reader.readLine() );
double z=0.0;
int b=0;
int c=3;
int d=4;
while (z<=60)
{
if(z%5==0 && z!=0) {b=b+5;c=c+5;d=d+5;}
if(z>=b && z<=c && z==a) {
System.out.print("зелёный");}
if(z>=c && z<=d && z==a) {
System.out.print("жёлтый");}
if(z>=d && z<=b+5.0 && z==a) {
System.out.print("красный");}
z=z+0.1;
}
}
}
igor
20 уровень
Не работает при z=0.1 но работает при любом другом значении z, например при z =0.5 все считает верно и выводит значение зелёный.
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
igor
19 января 2020, 14:13
А есть разница какой шаг? Ведь он должен считать пока не дойдет до 60. Почему при одних значениях он подсчет ведет , например при 0.5 , а при других уже нет.
0
Ksenia Volkova Java Developer в DXC Master
19 января 2020, 13:56
Так у тебя и для 0.55 работать не будет. Почему ты считаешь, что "шаг" должен быть в одну десятую?
И кстати, валидатор проверяет числа больше 60 тоже.
0