int x = 10-a;
int z = b-10;
abs(x);
abs(z);
if (x<=z) System.out.println(a);
else System.out.println(b);
Роман
7 уровень
Объясните почему не принимает последний пункт решения в моем коде? А также если поставить int x = a-10; то в таком случае метод abs возвращает отрицательное число
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Jim
24 декабря 2020, 16:32
Чтобы было яснее, abs принимая отрицательное число, преобразует его в положительное. А если было передано положительное, то оно таким и возвращается :)
0
hidden #598481
24 декабря 2020, 09:34решение
Ты никуда не записываешь результат метода abs.
Примитивы (int - примитив) хранят значения, а не ссылки, а это значит, что метод не может "преобразовать" переданное в аргументе число: он может только посчитать новый результат и вернуть его.
Сохрани результаты вызовов метода в переменную, и тогда сможешь их сравнить.
+2
hidden #2322530
24 декабря 2020, 09:30
abs не может вернуть отрицательное число. abs это "по модулю", модуль всегда положительный.
0