В моем решении проверка по последнему пункту не проходила.
public static void closeToTen(int a, int b) {
int s = 10 - a;
int s1 = 10 - b;
if (abs(10 - a) < abs(10 - b))
System.out.println("ближайшее к десяти " + a);
else{
if (abs(10 - a) < abs(10 - b))
System.out.println("ближайшее к десяти " + b);
else{
System.out.println("ближайшее к десяти " + a);
}
}
}
а вот решение из комментов. тут проверка прошла успешно. в чем разница понять не могу
public static void closeToTen(int a, int b) {
int s = (a - 10);
int m = (b - 10);
if (abs(s) > abs(m))
System.out.println(b);
else System.out.println(a);
if (abs(s) == abs(m)) System.out.println(a);
}
package com.javarush.task.task04.task0409;
/*
Ближайшее к 10
*/
public class Solution {
public static void main(String[] args) {
closeToTen(8, 11);
closeToTen(14, 7);
}
public static void closeToTen(int a, int b) {
int s = (a - 10);
int m = (b - 10);
if (abs(s) > abs(m))
System.out.println(b);
else System.out.println(a);
if (abs(s) == abs(m)) System.out.println(a);
}
// public static void closeToTen(int a, int b) {
// int s = 10 - a;
// int s1 = 10 - b;
// if (abs(10 - a) < abs(10 - b))
// System.out.println("ближайшее к десяти " + a);
// else{
// if (abs(10 - a) < abs(10 - b))
// System.out.println("ближайшее к десяти " + b);
// else{
// System.out.println("ближайшее к десяти " + a);
// }
// }
// }
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
}