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!