Измерим температуру тела

  • 3
  • Недоступна
Программа считывает с клавиатуры значение температуры тела и выдает сообщение о том, что температура тела высокая, низкая или нормальная, в зависимости от условий. В классе объявлены две булевые переменные isHigh (высокая температура) и isLow (низкая), в которые нужно вынести соответствующие усл
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (122)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
LeeRoy
Уровень 6
2 августа, 19:45
Пробовал решение через: if (bodyTemperature > 37) isHigh=true; if (bodyTemperature < 36) isLow=true; Не проходит по последнему условию "Функционал программы не должен измениться", хотя этот вариант ничем не отличается от предложенного "правильного" решения по логике и точно по функционалу
Tommy
Уровень 4, Нижний Новгород, Russian Federation
31 июля, 16:16
Очень долго не мог понять в чём причина, почему не работает и так и так (уже и комментарии почитал) Ошибка была что написал вместо isLow - islow Спасибо за внимание...
Kirill Akshentsev
Уровень 16, Юрюзань, Russian Federation
23 июля, 08:56
я в начале не заметил " private static boolean isHigh; private static boolean isLow;" и минут 10 пытался им присвоить тип))
Evgeny Vaymer
Уровень 8, Москва, Russian Federation
11 июля, 08:07
2 часа бился с задачей ,но все таки решил ....вот так isHigh=bodyTemperature > 37; isLow=bodyTemperature<36; if (isHigh){ System.out.println("температура тела высокая"); и тд.... и отсюда назрел вопрос, подскажите пожалуйста: Как я понял, получается следующие, указывать что есть правда а что ложь для isHigh\isLow для переменных не нужно, компьютер сам их определяет исходя из вышеуказанного условия? Очень надеюсь что вопрос корректный, просто пока не хватает словарного запаса,чтобы более корректно обьяснить. всем добра)
Lv, IL, Ru
Уровень 4, Israel
28 мая, 19:04
Пипец, первую рещил с подсказками. Обидно 4то ошибки тупо по невнимательности, так шо ребята и девчата будьте внимательны! Good luck всем!
Gennady Nazarenko
Уровень 4, Москва, Russian Federation
22 мая, 11:42
ДД! Написал код в задаче: Scanner scanner = new Scanner(System.in); double bodyTemperature = scanner.nextDouble(); Когда консоль считывает 36.6 (через точку) Java выдает ошибку, однако, через 36,6 (запятая) все работает. Вопрос почему, ведь должна считывать через точку?
Mechanical_Dildo
Уровень 9
1 августа, 23:32
чтобы считывала через точку нужно изменить локаль: импортировать import java.util.Locale; дописать Scanner scanner = new Scanner(System.in).useLocale(Locale.US); тогда вещественные числа будет распознавать с точкой, а не с запятой
Алексей
Уровень 4, Russian Federation
29 апреля, 21:13
Разве ошибка сделать так?
boolean isHigh = (bodyTemperature > 37);
boolean isLow = (bodyTemperature < 36);
Обязательно нужно делать так?
isHigh = bodyTemperature > 37;
isLow = bodyTemperature < 36;
Katsuki Bakugou
Уровень 12, Краснодар, Russian Federation
4 мая, 12:36
Нет, не ошибка. Но не забываем, что когда объявляем boolean, то программа ещё не знает, что такое bodyTemperature. boolean isHigh = (bodyTemperature > 37); можно написать уже в теле программы, но мы же объявили уже boolean.
Яицкий Александр
Уровень 4, Москва, Россия
10 июня, 09:44
такая же ошибка, и не понял , что неправильно ( Scanner scanner = new Scanner(System.in); double bodyTemperature = scanner.nextDouble(); boolean isHigh = (bodyTemperature > 37); boolean isLow = (bodyTemperature < 36); не выполнено условие Переменным isHigh и isLow в методе main должны быть присвоены соответствующие выражения сравнения. а вот так Scanner scanner = new Scanner(System.in); double bodyTemperature = scanner.nextDouble(); isHigh = (bodyTemperature > 37); isLow = (bodyTemperature < 36); if (isHigh) { System.out.println("температура тела высокая"); } else if (isLow){ System.out.println("температура тела низкая"); } else { System.out.println("температура тела нормальная"); } } } проходит и засчитывается, только где использовать boolean я ХЗ.... ладно поплываем дальше
Nikita Efimov
Уровень 9, Russian Federation
15 июня, 04:52
В условиях задачи написано, что "В классе объявлены две булевые переменные", то есть вам не нужно присваивать boolean, т.к. это уже сделали за вас!
Dmitry
Уровень 4, Курск, Russian Federation
26 июня, 20:33
коммент реально помог
ForJavaRush
Уровень 8, Украина
19 апреля, 16:07
Почему данный код не правильный? Он верно отрабатывает... Или суть именно в методе инициализации булевых переменных?
public class Solution {
    private static boolean isHigh;
    private static boolean isLow;

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double bodyTemperature = scanner.nextDouble();

        //напишите тут ваш код
        if (bodyTemperature < 36)
            isLow = true;

        if (bodyTemperature >= 36 && bodyTemperature <= 37) {
            isLow = false;
            isHigh = false;
        }

        if (bodyTemperature > 37)
            isHigh = true;

        if (isHigh) {
            System.out.println("температура тела высокая");
        }

        else {
            if (isLow) {
                System.out.println("температура тела низкая");
            }
            else {
                System.out.println("температура тела нормальная");
            }
        }

    }
}
Ошибка валидатора(которая не воспроизводится!!!): Убедись, что программа выводит в консоль надпись "температура тела низкая", если введенное значение температуры меньше 36.
Тёма Панфилов
Уровень 18, Подольск
20 апреля, 14:56
Ошибки, в общем и целом нет, данный код компилируется, но не соответствует условиям задачи
Dungeon Master Юрисконсульт в Сбер
17 апреля, 17:33
Просидел час над задачей, оказалось все действительно просто. нужно просто уже объявленным переменным присвоить значение, которое мы напишем с клавиатуры и чтобы оно было больше или меньше нужной нам температуры.
Alex Bit (Воронеж)
Уровень 32, Воронеж, Russian Federation
9 марта, 20:40
Перед ифами добавить статик переменные равные условию без явного указания буленов