Условия задачи: Задано число x, десятичная запись которого не содержит нулей. Рассматриваются все числа, которые можно получить из числа x перестановкой его цифр. M- наибольшее из таких чисел, а m- наименьшее. Определяется число K(x) как (M-m). Например, для x = 6174 получаем M = 7641, m = 1467. K(x) = 7641 - 1467 = 6174. Нужно написать логику программы для вычисления K(x) по заданному x. На входе мы вводим в консоль число x, а на выходе должны получить результат вычисления K(x). Вот мой код: public class Main { public static String sortString(String x){ char tempArray[] = x.toCharArray(); Arrays.sort(tempArray); return new String(tempArray); } public static String sortReverseString(String x){ char tempArray[] = x.toCharArray(); Arrays.sort(tempArray, Collections.reverseOrder()); return new String(tempArray); } public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); String x = scanner.nextLine(); int m = Integer.parseInt(sortString(x)); int M = Integer.parseInt(sortReverseString(x)); System.out.println(M-m); } } Проблема в методе sortReverseString(). Я не понимаю как сделать корректно реверс и получить число, где цифры стоят по убыванию.