Voglio ordinare mediante un doppio ciclo for una stringa confrontando di volta in volta i char che la costituiscono e nel frattempo ordinare un array di indici che esula dal resto;
nel momento in cui ritorno un array di char contenente la Stringa che dovrebbe essere ordinata ottengo invece una stringa in cui i caratteri vengono si spostati ma non so secondo quale logica O.o

codice:
ordinato=k.toCharArray(); 
for(int i=0;i<k.length()-1;i++){
 char box; int boxindice; 
     for(int j=1;j<k.length();j++){ 
          if(k.charAt(i)>k.charAt(j)){
                  box=ordinato[i]; 
                  boxindice=indici[i]; 
                  ordinato[i]=ordinato[j];
                  indici[i]=indici[j]; 
                  ordinato[j]=box; 
                  indici[j]=boxindice; 
          } 
       } 
}
es
q9YU --> U9Yq
xsGe --> eGxs

Deve esserci qualche errore nel codice , magari una stupidata ... se qualcuno volesse illuminarmi ve ne sarei grato

Grazie.