il metodo non funziona perchè per i primi 3 cicli del secondo for la lettera minima è sempre "a". Il tuo metodo funzionerebbe le caso scambiasse le posizioni dei caratteri nella stringa di partenza.
potevi notare il tutto facendoti un output del metodo:
esempio del ciao:
primo ciclo del for esterno:
carattere estratto "c";
ciclo interno:
carattere minimo rispetto a "c" è il carattere "a" ( sulla sotto-stringa "ciao");;
result = "a".
secondo ciclo del for esterno:
carattere estratto "i";
ciclo interno:
carattere minimo rispetto a "i" è il carattere "a" ( sulla sotto-stringa "iao");
result = "aa".
terzo ciclo del for esterno:
carattere estratto "a";
ciclo interno:
carattere minimo rispetto a "a" è il carattere "a" (sulla sotto-stringa "ao");
result = "aaa".
quarto ciclo del for esterno:
carattere estratto "o";
ciclo interno:
carattere minimo rispetto a "o" è il carattere "o" (sulla sotto-stringa "o");
result = "aaao".