у меня есть два варианта кода, по моему мнению абсолютно идентичны только оформлены иначе.
Код №1.
public class Solution {
public static void main(String[] args) {
closeToTen(8, 11);
closeToTen(7, 14);
}
public static void closeToTen(int a, int b) {
int closeA = abs(10 - a), closeB = abs(10 - b);
if ( closeA < closeB )
{
System.out.println(a);
}
else
{
System.out.println(b);
}
}
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
}
Код №2.
public class Solution {
public static void main(String[] args) {
closeToTen(8, 11);
closeToTen(7, 14);
}
public static void closeToTen(int a, int b) {
int A = 10 - a, B = 10 - b;
abs(A);
abs(B);
if(A < B) {System.out.println(a);}
else {System.out.println(b);}
}
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
}
Но результаты получаются абсолютно разные! А код теоретически делает одно и тоже.