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

  • 4
  • Недоступна
Диего — высокий, Альфредо — низенький, Риша — опытный, а вы — «зелёный» программист. Не получается в жизни без сравнений. Да и в программах не получается. Так что продолжаем тренироваться сравнивать, вводить в консоль и выводить на экран. В этот раз сравним введенное число с нулем и проделаем над ним некие манипуляции в зависимости от результата.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (58)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Гофф4 уровень
час назад
Спойлер с решением, не смотрите)) Сделал сначала двумя ифами, модифицирующими переменную + третья строка на её вывод, а потом вспомнил про совет одного ученика из комментов к прошлому заданию. Этого ещё не проходили, но иф бывает в форме "условие?выражение, если истинно:выражение, если ложно" - всё в одну строку (гуглить Ternary Operator). Такую конструкцию можно применять и внутри формул или выражений. Задача красиво решается в одну строку - в скобках команды System.out.println вписываются вложенные тернарные ифы по такой схеме: если 0, вывести 0, иначе, если меньше нуля, вывести переменную+1, иначе вывести переменную*2. System.out.println(number==0?0:number<0?(number+1):number*2);
Иван5 уровень
6 августа, 20:15
Странно, но через BufferedReader решить не смог, а через сканер все ок.
Andrey Embassador7 уровень
3 августа, 08:30
решил с 3 раза через сканер, программа выдавала ошибку из за того что не импортировал данные сканера в класс, поэтому если будете писать через сканер не забудьте импортировать его: import java.util.Scanner;
Maria Popova8 уровень, Владивосток
23 июня, 01:26
Так и не поняла, в чем была проблема, но по совету из раздела "Помощь" помог сброс задачи и копирование предыдущего решения (которое минуту назад не проходило ни одну проверку, в том числе ввод числа с клавиатуры). Ошибка была и в IDEA, и на сайте
алексей 15 уровень, Минск
22 июня, 18:25
может кто нибудь знает в чем прикол , пишет "Убедись, что программа работает правильно, если ввести -1." хотя я если вводишь -1 выводит 0 , соответственно вводишь -10 выводит -9 но программа говорит , неправильный вывод, в идее все ок
Andrii5 уровень
воскресенье, 21:41
Смотрю, что вопрос был давно, относительно моего времени. Но может поможет будущим поколениям. Тоже такой ответ получал "Убедись, что программа работает правильно, если ввести -1." Сделал как пишут - проверил, что будет если поставить -1 в качестве входного параметра. Полученный результат сравниваем с заданием по выводу на экран. Ларчик открывается....
Fat7 уровень
18 июня, 08:40
Решил так: если (число > 0) число = число * 2; если (число < 0) число = число + 1; И все, никаких == или else. Ноль прекрасно остается нулем.
Алекс Орешкин6 уровень, Брест
12 июня, 08:57
Объясните, почему нельзя решать задачу через метод Scanner ? Зачем мне преобразовывать вводимое число с клавиатуры в тип int, если я и так ввожу число int int a = chislo.nextInt(); Scanner chislo = new Scanner(System.in); Зачем в этой задаче надо Integer.parseInt или BuffereadReader или все вместе??
Алёнка9 уровень, Минск
9 июня, 12:26
Билась над задачей пока не прочитала ОЧЕНЬ внимательно задание: Ввести с клавиатуры число. Ну а потом уже взялась за BufferedReader и задача сама по себе сложилась.
Nikita Kuznetsov24 уровень, Москва
1 июня, 10:56
В условии надо уточнить, что число целое
Haneewow18 уровень, г. Челябинск, Челябинская обл.
20 мая, 18:20
При вводе через BuffereadReader необходимо преобразовать строку в число для дальнейших проверок условий. Поможет формула - int N = Integer.parseInt(NUM); Проверки, соответственно, выполняются с числом N.