//大小写一起排序A,a,B,b,……不能用现有的类 bymysele 通过测试 //a=97,z=122,A=65,Z=90 public class SortString{ public static void main(String args[]){ String[] array = {"ab","az","cc","bc","af","ACV"}; //Arrays.sort(array);不能实现大小写混排 //冒泡排序 for(int i=0; i<array.length; i++){ for(int j=0; j<array.length-i-1; j++){ if(cmpString(array[j],array[j+1])==1){ String temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } //打印结果 for(int i=0; i<array.length; i++){ System.out.println(array[i]); } } public static int cmpString(String s1, String s2){ char s1_char[] = s1.toCharArray(); char s2_char[] = s2.toCharArray(); int length = s1_char.length <s2_char.length ? s1_char.length : s2_char.length ; for(int i=0; i<length; i++){ if(cmpChar(s1_char[i],s2_char[i])==1){ return 1; } if(cmpChar(s1_char[i],s2_char[i])==-1){ return -1; } } return 0; } public static int cmpChar(char c1, char c2){ if(c1>='a'&&c1<='z'){ c1=(char)(c1-32); } if(c2>='a'&&c2<='z'){ c2=(char)(c2-32); } if(c1>c2){ return 1; }else if(c1==c2){ return 0; }else{ return -1; } } }