Получается abs работает как модуль в алгебре("| |"). Ну, вспоминайте, |±а|=а.
Так вот подставляем в мой код первые два значения - 8 и 11, получаем: -2<1, но у нас abs работает как модуль числа а, значит выражение становится: 2<1
Смотрим ниже, если условие соблюдается, выводим а, условия не соблюдаются(2 не < единицы), иначе выводим b
Внимание, знатоки, вопрос: ПОЧЕМУ ВЫВОДИТСЯ a, А НЕ b!?
package com.javarush.task.task04.task0409;
/*
Ближайшее к 10
*/
public class Solution {
public static void main(String[] args) {
displayClosestToTen(8, 11);
displayClosestToTen(7, 14);
}
public static void displayClosestToTen(int a, int b) {
if(abs(a)-10<abs(b)-10)
{
System.out.println(a);
}
else
{
System.out.println(b);
}
}
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
}