比如我有一串字符“啊才吧飞鹅”   怎样经过排序程序就返回以“啊”开头-A,“吧”开头-B,“次”开头-C......   输出的时候就应该是   “ 啊吧才的鹅飞”(就是用拼音的首字母排序。。)
 
   不知道我表达的清楚不。。还请大哥大姐说哈该怎样处理
         

解决方案 »

  1.   

    使用 java.text.Collator.getInstance(Locale.CHINA) 作Comparator
      

  2.   

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.text.Collator;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Comparator;public class HanziSort {
        public static void main(String args []) throws IOException{
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            
            System.out.println("请输入:");        
            String str=br.readLine();
            
            char [] ch=str.toCharArray();        
            ArrayList arr=new ArrayList();        
            for(int i=0;i<ch.length;i++){
                arr.add(String.valueOf(ch[i]));
             }
            
            Comparator cmp =Collator.getInstance(java.util.Locale.CHINA); 
            Object [] ob=arr.toArray();
            Arrays.sort(ob,cmp);
            
            for(int i=0;i<ob.length;i++){
                System.out.println(ob[i]);
            }
        }
    }写了个简单的程序,供参考