Не совсем понял прикола в задании. Создал объект для считывания, String numText, int num и преобразовал numText в int. Далее сравнение через 3 if: if (num > 0) { num = num * 2; sout(num); } if (num < 0) { num = num + 1; sout(num); } if ( num == 0) sout("0"); На что мне выдало - проверьте решение про -1, я покумекал и решил через else-if решить второй пункт. if (num < 0){ num = num + 1; } else if (num == 0) { sout ("0"); } else sout (num); Но мне начал ворчать за второй пункт, что я перепрыгиваю алгоритм задания - хотя объективно вроде верна логика? Я сначала проверяю число на ввод и суммирую и затем делаю контрольную проверку на равеноство 0, в итоге если 0, то вывод 0, если нет, то вывод всех остальных отрицательных чисел. По итогу же компилятор принял такое решение, но я не совсем понял, чем оно противоречит первое, где все тоже самое без else if. Ведь в этом решении мы при -1 получаем num = 0 и сразу выводим num в консоль. Но добавляем еще проверку на num == 0 и выводим в коносль отдельно текстом. У меня же во втором примере как показалось более правильная логика - мы сначала обрабатываем число и присваиваем значение num. Затем идем по алгоритму - если 0, то вывод 0, если нет, то выводим num. В общем я прав или нет ? if (num < 0){ num = num + 1; System.out.println(num); } else if (num == 0){ System.out.println("0"); }