JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Перечитал все ответы, но не могу понять !!??
Anonymous #2985842
20 уровень
  • 23.03.2022
  • 530просмотров
  • 12комментариев

Перечитал все ответы, но не могу понять !!??

Вопрос по задаче Стакан наполовину пуст или наполовину полон?
Java Syntax,  4 уровень,  10 лекция
Решен


В методе main() есть переменная double glass = 0.5, которая символизирует наполовину заполненный стакан. Для пессимиста он наполовину пуст, а для оптимиста - наполовину полон.
Необходимо считать с клавиатуры данные типа boolean, используя метод nextBoolean() объекта типа Scanner. В зависимости от полученных данных, округлить переменную glass: до целого числа вниз (0), если пессимист (false) и до целого числа вверх (1), если оптимист (true).
Результат вывести на экран.

Пример ввода:
true

Пример вывода:
1

Подсказка:
Чтобы округлить вещественное число до целого вниз, используй метод Math.floor(), вверх - метод Math.ceil().

Требования:
  • Программа должна считывать c клавиатуры данные типа boolean.
  • Программа должна выводить целое число на экран согласно условию.
  • В программе необходимо использовать метод Math.floor().
  • В программе необходимо использовать метод Math.ceil().
package com.javarush.task.pro.task04.task0418; import java.util.Scanner; /* Стакан наполовину пуст или наполовину полон? */ public class Solution { public static void main(String[] args) { double glass = 0.5; //напишите тут ваш код Scanner scanner = new Scanner(System.in); boolean bb = scanner.hasNextBoolean(); if (bb) { int x = (int) Math.ceil(glass) ; } else {int x = (int) Math.floor(glass) ; } System.out.println(x); } }
0
Комментарии (12)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #2985842
Уровень 20
24 марта 2022, 06:51
Строка 15 был корнем проблем. В любом случае всем спасибо
+2
Anonymous #2985842
Уровень 20
23 марта 2022, 19:32
Ок, вы правы, я объявил переменную X до условного If - else, он теперь её видит,,, НО всё равно если я пишу в false в консоле он выдаёт цифру 1, а должен выдавать 0
0
Никита
Уровень 31
Expert
23 марта 2022, 20:34решение
конечно, вы методы перепутали для считывания boolean
+3
тимур
Уровень 33
23 марта 2022, 20:34
Можете код исправленный показать?
0
Anonymous #2985842
Уровень 20
24 марта 2022, 05:55
А что вы имеете в виду "перепутал методы" ? поменять их местами что ли ? тогда при вводе false будет 0, а при true тоже 0.
0
Anonymous #2985842
Уровень 20
24 марта 2022, 06:49
К сожалению воспользовавшись ответом я только сейчас понял что вы говорите : boolean bb = scanner.hasNextBoolean() и boolean bb = scanner.nextBoolean(); вот где собака порыласьььььььььььььь !!!!! строка 15
0
Никита
Уровень 31
Expert
24 марта 2022, 08:47
да, hasNextBoolean() проверяет является ли сл строка типом boolean
+2
Anonymous #2985842
Уровень 20
23 марта 2022, 18:34
Не могу понять, в 23 строке он ругается на переменную Х . Вроде не трудная задача но я никак не могу понять логику. Подсмотрел с "тернарными" там вроде всё понятно . А если через If, та как-то никак
0
тимур
Уровень 33
23 марта 2022, 18:39
привет, объяви переменную в мейне и в блоках if-else присваивай значение уже созданной переменной. Наверное из-за этого ругается
+2
Андрей Соловьёв
Уровень 26
23 марта 2022, 18:42
переменная X существует только в пределах своих фигурных скобок, в 23й строке ее уже нет, объявите ее до блока if-else
+2
Fruitella
Уровень 36
23 марта 2022, 18:44
Он ругается потому что он не может понять, что это за переменная. Она была создана и находится внутри блока if и else . System.out.println(); не может понять, что это за переменная.
+2
Anonymous #2985842
Уровень 20
23 марта 2022, 20:28
Я сделал, как вы сказали, но он всё равно при введении False выдаёт стакан полным = 1.
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush