Стакан наполовину пуст или наполовину полон?

  • 4
  • Недоступна
В методе main() есть переменная double glass = 0.5, которая символизирует наполовину заполненный стакан. Для пессимиста он наполовину пуст, а для оптимиста - наполовину полон. Необходимо считать с клавиатуры данные типа boolean, используя метод nextBoolean() объекта типа Scanner. В зависимости от по
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (39)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Andrey Shindin
Уровень 4, Москва, Russian Federation
вчера, 16:24
пока не знаю как избавиться от банальных ошибок, но радует то, что уже начинается видеть код наперед каким он должен быть, обратная сторона монеты что остаются куча синтаксических ошибок... от того что привык писать про nextLine(); и nextInt(); а вот как булен в сканер записать, пришлось с бубном потанцевать... оказалось абсолютно так же как и остальное -_- еще бы... в итоге сидел тупил еще больше над подобными ошибками... if (tru==true);{ System.out.println((int)Math.ceil(glass)); } else { System.out.println((int)Math.floor(glass)); сидишь как лось, и думаешь ну else же после if, чо не так, чего ты ругаешься... а там ; в итоге (-_-)
Lepert Java Developer
позавчера, 19:56
Я тут пошлифовал код :D Scanner sc = new Scanner(System.in); boolean a = sc.nextBoolean(); System.out.print(int i = a ? (int)Math.ceil(glass) : (int)Math.floor(glass));
Danil Bespalov
Уровень 6, Russian Federation
28 декабря 2021, 15:56
задача решена, но в выводе всегда 1. Почему так?
Stanislav76
Уровень 7, Kehl, Germany
29 декабря 2021, 21:18
а ты в решении оба метода использовал(floor и ceil)? то что они делают с веществ. числами в лекции ясно прописано.
Денис Викторович
Уровень 6, Краснодар
21 декабря 2021, 13:21
Казалось бы, легкая на первый взгляд задача, однако, заставить напрячь мозг она таки смогла. Все прописал, но программа до выполнения метода floor не доходит, постоянно прерывается на методе ceil (если он идет первым в коде). Если застряли на этом же моменте, тогда обратите внимание на условный оператор if/else. Если в условии if прописываете (true), то не забывайте приравнять его к переменной boolean, которую создали: if ((созданная переменная boolean) == true) Так же и в else if.
Noxis
Уровень 6, Гомель, Belarus
22 декабря 2021, 00:22
else if можно не использовать, а вместо него взять просто else без условий. Булевая переменная принимант только два значения, следовательно, если для true мы определили условия, значит остается только false, сам собой разумеющийся. Меньше писанины получается))
Anonymous #2854449
Уровень 6, Москва, Russian Federation
9 января, 15:48
да, тоже на этом застряла, спасибо за помощь!
Anonymous #2854449
Уровень 6, Москва, Russian Federation
9 января, 15:50
только что-то заклинило, если одинарное равно поставим, то что происходит? и почему все же она делает первый проход через сеил, а потом выключается.
Anonymous #2854449
Уровень 6, Москва, Russian Federation
9 января, 15:52
Если пишет = true, то она как бы выполнилась и все, тк что такое true мы не задали? А если не задали то все true... И, следовательно, тру сработало, сеил выдало, а дальше программа завершилась досрочно... Правильный ход мысли?
MerryAnn
Уровень 14, Roma, Italy
27 сентября 2021, 14:49
почему-то без {} в командах у if и у else проверка выдавала не выполненные 2 и 3 пункты (при том, что программа работала). учитывая, что команда дается одна, не особо поняла зачем там фигурные скобки
Улан Тулпарбеков
Уровень 11, Алматы, Kazakhstan
18 ноября 2021, 12:22
она у меня прошла и без {}, только я делал в ИДЕА, а не на сайте
Matveybor bor
Уровень 23, Москва, Russian Federation
21 сентября 2021, 16:03
boolean isTrue = console.nextBoolean(); System.out.println(isTrue == true ? (int)Math.ceil(glass) : (int)Math.floor(glass)); Мне кажется очень лаконично получилось
TripleAsh Стойка микрофона в Comedy Club prod.
12 октября 2021, 04:08
Да, шикарно!
Anonymous #2916481
Уровень 6
10 декабря 2021, 09:07
я решить решил, но ваш вариант написания куда круче выглядит)) в момент решения задач, почему-то пока что не приходят в голову такие конструкции, Зотя уже пробы начинать)
Inna Shabanova
Уровень 7, United States
28 декабря 2021, 20:11
Вау! Я уже про него и забыла 😂
Stanislav76
Уровень 7, Kehl, Germany
29 декабря 2021, 21:26
красиво! я тернарный оператор хотел написать, но не в out.println. 👍
h0pper
Уровень 17, Sumy, Ukraine
20 сентября 2021, 20:17
int rez1; if (rez) rez1=(int)Math.ceil(glass); else rez1=(int)Math.floor(glass); Почему пропускает такой, но не пропускает такой if (rez) int rez1=(int)Math.ceil(glass); else int rez1=(int)Math.floor(glass);
MerryAnn
Уровень 14, Roma, Italy
27 сентября 2021, 14:51
объявлять переменную (если я правильно поняла) в if можно только открывая фигурные скобки. а лучше ее там вообще не объявлять по возможности
Slava
Уровень 6, Москва
29 декабря 2021, 20:16
Объявленная переменная доступна только внутри фигурных скобок. объявляя её внутри оператора if, делаете переменную недоступную для других операторов.
ShivaValley QA General в /на галере
26 августа 2021, 23:22
почему то все где есть операции с числами я делаю без проблем, когда проходили for я думал заплачу, пока дебагер не включил ничего не мог понять
Екатерина Шрамко
Уровень 23, Киев
30 июня 2021, 19:04
Нашла ошибку. Мой код не проходит 3 тест, хотя я написала : int hight = (int)(Math.ceil(glass)); int low = (int)(Math.floor(glass));
Anonymous #2670691
Уровень 3, Москва
29 мая 2021, 14:44
Непонятный глюк System.out.println(Math.ceil(glass)); // выводит 1.0, хотя должен возвращать целое число типа long. Почему надо преобразовывать к int System.out.println((int)Math.ceil(glass));