Почему так проходит?
int a1=a-10;
        int b1=b-10;
а так не проходит проверку?
int a1=a%10-10;
int b1=b%10-10;
ведь работает все идентично.... Исходный код:
package com.javarush.task.task04.task0409;

/*
Ближайшее к 10
*/

public class Solution {
    public static void main(String[] args) {
        closeToTen(8, 9);
        closeToTen(-9, -8);
    }

    public static void closeToTen(int a, int b) {
        //напишите тут ваш код
        int a1=a%10-10;
        int b1=b%10-10;
        a1=abs(a1);
        b1=abs(b1);
        if(a1<b1) System.out.print(a);
        else System.out.print(b);

    }

    public static int abs(int a) {
        if (a < 0) {
            return -a;
        } else {
            return a;
        }
    }
}