Положительное и отрицательное число

  • 4
  • Недоступна
Диего — высокий, Альфредо — низенький, Риша — опытный, а вы — «зелёный» программист. Не получается в жизни без сравнений. Да и в программах не получается. Так что продолжаем тренироваться сравнивать, вводить в консоль и выводить на экран. В этот раз сравним введенное число с нулем и проделаем над ним некие манипуляции в зависимости от результата.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (66)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Alexander Kirichuk7 уровень, Санкт-Петербург
17 сентября, 11:34
Скажите, как лучше вводить число с клавиатуры? Через BufferedRead или через Scanner? Где-то читал, что на практике Scanner почти не встречается. Нужно ли наизусть учить конструкции такого типа: BufferedReader x = new BufferedReader(new InputStreamReader(System.in));?
Сергей5 уровень, Санкт-Петербург
29 сентября, 12:07
поначалу конструкция пугает, после 10-15 раз использования пишешь на автомате как System.out.println или метод main )
Святослав Кобывников8 уровень, Киев
15 сентября, 13:52
П.2 задчи: не совсем понятно что имеется ввиду. Я подумал, что необходимо снача вывести введенное число. А потом уже вывести измененное.
Гофф11 уровень
23 августа, 17:01
Спойлер с решением, не смотрите)) Сделал сначала двумя ифами, модифицирующими переменную + третья строка на её вывод, а потом вспомнил про совет одного ученика из комментов к прошлому заданию. Этого ещё не проходили, но иф бывает в форме "условие?выражение, если истинно:выражение, если ложно" - всё в одну строку (гуглить Ternary Operator). Такую конструкцию можно применять и внутри формул или выражений. Задача красиво решается в одну строку - в скобках команды System.out.println вписываются вложенные тернарные ифы по такой схеме: если 0, вывести 0, иначе, если меньше нуля, вывести переменную+1, иначе вывести переменную*2. System.out.println(number==0?0:number<0?(number+1):number*2);
Иван7 уровень
6 августа, 20:15
Странно, но через BufferedReader решить не смог, а через сканер все ок.
Илья 8 уровень, Киев
23 сентября, 23:37
если использовать InputStream inputStream = System.in; Reader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String name = bufferedReader.readLine(); //читаем строку с клавиатуры String sAge = bufferedReader.readLine(); //читаем строку с клавиатуры int nAge = Integer.parseInt(sAge); //преобразовываем строку в число. как в примере из этой лекции https://javarush.ru/quests/lectures/questsyntax.level03.lecture07 то все получится и через буфер, сам опробовал.
Andrey Embassador7 уровень
3 августа, 08:30
решил с 3 раза через сканер, программа выдавала ошибку из за того что не импортировал данные сканера в класс, поэтому если будете писать через сканер не забудьте импортировать его: import java.util.Scanner;
Куприянов Денис5 уровень, Харьков
вторник, 21:20
ничего не надо импортировать, просто в конструкции int i = sc.nextInt (); не забываем ставить скобки, или компилятор начинает ругаться на импорт.
Maria Popova8 уровень, Владивосток
23 июня, 01:26
Так и не поняла, в чем была проблема, но по совету из раздела "Помощь" помог сброс задачи и копирование предыдущего решения (которое минуту назад не проходило ни одну проверку, в том числе ввод числа с клавиатуры). Ошибка была и в IDEA, и на сайте
Куприянов Денис5 уровень, Харьков
вторник, 21:22
в IDEA почему то все задачи с вводом с клавиатуры стразу же в ошибку уходят, я такие просто копипастю на сайт и прохожу в нем проверку.
алексей 18 уровень, Минск
22 июня, 18:25
может кто нибудь знает в чем прикол , пишет "Убедись, что программа работает правильно, если ввести -1." хотя я если вводишь -1 выводит 0 , соответственно вводишь -10 выводит -9 но программа говорит , неправильный вывод, в идее все ок
Andrii15 уровень
18 августа, 21:41
Смотрю, что вопрос был давно, относительно моего времени. Но может поможет будущим поколениям. Тоже такой ответ получал "Убедись, что программа работает правильно, если ввести -1." Сделал как пишут - проверил, что будет если поставить -1 в качестве входного параметра. Полученный результат сравниваем с заданием по выводу на экран. Ларчик открывается....
Fat8 уровень
18 июня, 08:40
Решил так: если (число > 0) число = число * 2; если (число < 0) число = число + 1; И все, никаких == или else. Ноль прекрасно остается нулем.
Алекс Орешкин9 уровень, Брест
12 июня, 08:57
Объясните, почему нельзя решать задачу через метод Scanner ? Зачем мне преобразовывать вводимое число с клавиатуры в тип int, если я и так ввожу число int int a = chislo.nextInt(); Scanner chislo = new Scanner(System.in); Зачем в этой задаче надо Integer.parseInt или BuffereadReader или все вместе??
Куприянов Денис5 уровень, Харьков
вторник, 21:23
я через сканер решил очень легко даже... Scanner c = new Scanner(System.in); int i = c.nextInt(); вот и все... вся конструкция.
Алёнка10 уровень, Минск
9 июня, 12:26
Билась над задачей пока не прочитала ОЧЕНЬ внимательно задание: Ввести с клавиатуры число. Ну а потом уже взялась за BufferedReader и задача сама по себе сложилась.