Salve a tutti!

Sto provando a scrivere un metodo in Java che prende una stringa e ritorna una nuova stringa composta dai caratteri della prima in ordine alfabetico. Ad esempio, se la stringa è "ciao", allora la stringa risultante sarà "acio". Ecco il metodo che ho scritto:

codice:
public static String sort(String word) {
        String result = "";
        for (int i = 0; i < word.length(); i++) {
            char min = word.charAt(i);
            for (int j = i + 1; j < word.length(); j++) {
                if (word.charAt(j) < min)
                    min = word.charAt(j);
            }
            result += min;
        }
        return result;
    }
Ho realizzato una sorta di selection sort che seleziona il carattere minimo della sottostringa considerata fino a quel momento e lo concatena alla stringa che sarà restituita alla fine.
Il problema è che il metodo non funziona. Se torniamo all'esempio, per "ciao" mi stampa "aaao". Qualcuno può spiegarmi perché?

Grazie in anticipo!