Вопрос 1: Почему этот код работает только с числами для зеленого светофора?
Вопрос 2: Почему после ввода первого числа в консоль, независимо от того, какое оно, программа не заканчивается и продолжает работать, и при этом совсем ничего не выводит на экран после повторного ввода?
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 in = Double.parseDouble(reader.readLine());
String green = "зелёный";
String yellow = "жёлтый";
String red = "красный";
double greenCount = 0.0, yellowCount = 0.0, redCount = 0.0;
double greenAdd = 3.0, yellowAdd = 4.0, redAdd = 5.0;
if (in == greenCount + greenAdd) {
System.out.println(green);
} else
while (in != greenCount) {
greenCount = greenCount + greenAdd;
}
if (in == greenCount) {
System.out.println(green);
}
if (in == yellowCount + yellowAdd) {
System.out.println(yellow);
} else
while (in != yellowCount) {
yellowCount = yellowCount + yellowAdd;
}
if (in == yellowCount) {
System.out.println(yellow);
}
if (in == redCount + redAdd) {
System.out.println(red);
} else
while (in != redCount) {
redCount = redCount + redAdd;
}
if (in == redCount) {
System.out.println(red);
}
if (in <= 0.0 | in > 60.0) {
System.out.println("Введите число от 1 до 60");
}
}
}