public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String[] array = new String[20];
        for (int i = 0; i < array.length; i++) {
            array[i] = reader.readLine();
        }

        sort(array);

        for (String x : array) {
            System.out.println(x);
        }
    }

    public static void sort(String[] array) {
        String tmp;
        for(int i = 0 ; i < array.length ;i++)
        {
            for(int j = 0; j < i;j++)
            {

                if(!isGreaterThan(array[i].substring(0,1),array[j].substring(0,1)))
                {
                    tmp = array[i];
                    array[i] = array[j];
                    array[j] = tmp;

                }
            }

        }
    }

    //Метод для сравнения строк: 'а' больше чем 'b'
    public static boolean isGreaterThan(String a, String b) {

        return a.compareTo(b) > 0;
    }
}
В чем проблема?