codice:
class SortString{
public static void main(String args[]){
String parole[] = {"ciao","culo","piero","simone","antonio","come","anna","annalisa"};
parole = ordina(parole);
for(int i = 0;i<parole.length;i++){
System.out.println(parole[i]+",");
}
}
static int differ(String a,String b,int i){
char c,d;
if(a.length() == i || b.length() == i){
if((a.length() > b.length()) == true){
return 0;
}else{
return 1;
}
}
c = a.charAt(i);
d = b.charAt(i);
if( c == d){
return -1;
}else {
if((c > d) == true){
return 0;
}else{
return 1;
}
}
}
static String[] ordina(String p[]){
String temp;
char c,d;
for(int i = 0;i<p.length;i++){
for(int j = 0;j<p.length;j++){
int u = 0;
while(differ(p[i],p[j],u) == -1){
u++;
}
if(differ(p[i],p[j],u) == 1){
temp = p[j];
p[j] = p[i];
p[i] = temp;
}
}
}
return p;
}
}
questo semplice programmino serve per ordinare un array di stringhe...se si può fare in modo più semplice sono lieto di sapere come!
comunque, volevo sapere perchè le due funzioni differ e ordina devo dichiarale static, altrimenti il compilatore mi da un errore...