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

  • 4
  • Недоступна
Диего — высокий, Альфредо — низенький, Риша — опытный, а вы — «зелёный» программист. Не получается в жизни без сравнений. Да и в программах не получается. Так что продолжаем тренироваться сравнивать, вводить в консоль и выводить на экран. В этот раз сравним введенное число с нулем и проделаем над ним некие манипуляции в зависимости от результата.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (80)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Бухтияров Сергей7 уровень, Москва
2 декабря, 14:42
Почему в данном коде нельзя инкриментировать к переменной "а" вот таким образом? int a=Integer.parseInt(name); ........ System.out.println(a++);
justcvb27 уровень
5 декабря, 00:26
Потому что в таком случае значение переменной сначала будет напечатано, а уже после увеличено на единицу, т.е. напечатано будет старое значение. Существует постфиксный и префиксный инкремент/декремент, почитай.
Anton7 уровень
24 ноября, 09:41
Не знаю почему, но решение вида nNumb += 1 при условии что число отрицательное принимать никак не хотел. Хотя при запуске (не на проверку) выводится все правильно. И делал nNumb -= 1 чтобы реально отрицательное число увеличивалось на единицу (то есть думал что условие задачи подразумевает что -6 > -5, хоть по правилам математики не так). И пока не сделал еще одну переменную в блоке if (nNumb < 0) и уже к этой новой переменной не прибавил (то есть операция "+") 1, на вывод пустил новую переменную то валидатор не принимал решения.
Pavel Khaliullin7 уровень
17 ноября, 05:16
1. Программа должна считывать число c клавиатуры. 2. Программа должна выводить число на экран. Легко можно понять, что требуется вывести только что считанное число. НО нет, даже полностью работающий код не пройдет проверки из-за одного sout(i), который выводит введеное число. Причем, 4 из 5 требований так же не пройдут проверку. Это очень сбивает с пути поиска ошибки.
Иван15 уровень, Екатеринбург
13 ноября, 15:24
2 попытки потратил прежде чем понял, что ноль - это 0. Так и пишите в задании - 0.
Anna8 уровень, Москва
30 октября, 19:46
Поправьте условие, вывести не "ноль", а "0".
Алексей С5 уровень
22 октября, 21:22
Все несложно тут. Если решали задачи до этого то разберетесь. Ввел число через BufferedReader. Не захотел через scanner.
Andrey Dunaevsky4 уровень, Beer-Sheva
11 ноября, 14:14
Scanner , намного чаще ты увидишь в практике , чем Buffer... Имею ввиду в работах !!!
Алексей С5 уровень
11 ноября, 18:50
Да. В этих заданиях Scanner удобнее. Но я читал в уроке что Scanner мало встречается на практике и по этому решил сразу к Buffer-у привыкать писать.
Артур Исрапилов4 уровень, Махачкала
29 ноября, 13:27
У меня же наоборот, не захотел через BufferedReader, но без проблем пошел через Scanner.
Alexander Kirichuk7 уровень, Санкт-Петербург
17 сентября, 11:34
Скажите, как лучше вводить число с клавиатуры? Через BufferedRead или через Scanner? Где-то читал, что на практике Scanner почти не встречается. Нужно ли наизусть учить конструкции такого типа: BufferedReader x = new BufferedReader(new InputStreamReader(System.in));?
Сергей7 уровень, Санкт-Петербург
29 сентября, 12:07
поначалу конструкция пугает, после 10-15 раз использования пишешь на автомате как System.out.println или метод main )
Andrey Dunaevsky4 уровень, Beer-Sheva
11 ноября, 14:15
Scanner , удобней в написании и меньше строк .
Артур Исрапилов4 уровень, Махачкала
29 ноября, 13:30
Удобнее писать конечно же через Scanner, но правильнее все же будет наверное через BufferedReader.
Святослав Кобывников15 уровень, Киев
15 сентября, 13:52
П.2 задчи: не совсем понятно что имеется ввиду. Я подумал, что необходимо снача вывести введенное число. А потом уже вывести измененное.
Anku5 уровень, Москва
5 декабря, 19:04
Честно не думал о таком варианте. Я понимаю, что хочется делать задания с первого раза и такие моменты скорее путают, но этот пункт как обобщенный, что твоя программа впринципе должна выводить. Его просто стоит убрать из задания)
Гофф17 уровень
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 решить не смог, а через сканер все ок.
Илья 11 уровень, Киев
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 то все получится и через буфер, сам опробовал.