Проходят все одно значные числа, да даже и многозначные тоже, если все три числа такие же, но стоит ввести вариант, где два одинаковозначные, а одно меньше их на один знак, то программа летит и выдвет повтор этого же числа в качестве среднего и минимума. В чем дело, поясните пожалуйста.
Я постараюсь не сильно тупить в процессе.
package com.javarush.task.task04.task0420;
/*
Сортировка трех чисел
*/
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(r.readLine());
int b = Integer.parseInt(r.readLine());
int c = Integer.parseInt(r.readLine());
int min = 0;
int max = 0;
int middle = 0;
if (b >= a && a <= c) min = a;
else if (a >= b && b <= c) min = b;
else if (b >= c && c <= a) min = c;
if (b <= a && a >= c) max = a;
else if (a <= b && b >= c) max = b;
else if (b <= c && c >= a) max = c;
if (b <= a && a <= c) middle = a;
else if (a <= b && b <= c) middle = b;
else middle = c;
System.out.println(max + " " + middle + " " + min);
}
}