如果一个字符数组为 String[] s={"李华","张文","刘霞","王俪"}
 如何升序或者是降序排列啊??? 初学java,只会整型排序问题,请各位帮帮忙啊?谢啦!

解决方案 »

  1.   

    可以使用他们的hashcode排序喵~~~`
      

  2.   

    一样的,冒泡或者快速排序,判断时使用String的compareTo方法就可以知道是大于、等于还是小于
      

  3.   

    字典顺序,可以理解为拼音字母顺序import java.util.*;Arrays.sort(s,
     new Comparator(){
      int compare(String s1, String s2){
        return s1.compareTo(s2);
      }
     }
    );
      

  4.   

    都一样呀,关键是用compareTo
    public class Test {    public String[] orderSomething(String[] s){
            String tmp;
            for(int i=0;i<s.length;i++){
                for(int j=i+1;j<s.length;j++){
                    if(s[i].compareTo(s[j]) > 0){
                        tmp = s[i];
                        s[i] = s[j];
                        s[j] = tmp;
                    }
                }
            }
            return s;
        }
        
        public static void main(String[] args){
            String[] s = {"李华","张文","刘霞","王俪"};
            Test t = new Test();
            s = t.orderSomething(s);
            for(int i=0;i<s.length;i++){
                System.out.println("s[" + i + "] = " + s[i]);
            }        
        }
    }
      

  5.   

    这是运行结果:
    s[0] = 刘霞
    s[1] = 张文
    s[2] = 李华
    s[3] = 王俪
    如果是按第一个汉字拼音字母的字典顺序的话也不应该是这样啊????
    5楼的程序没有问题啊.究竟是按什么规则排序的呢?
      

  6.   

    借用5楼代码
    import java.util.*; 
    public class Test{
        public String[] orderSomething(String[] s){
          Arrays.sort(s, 
            new Comparator<String>(){ 
              public int compare(String s1, String s2){ 
                return s1.compareTo(s2);
                //return s1.getBytes()[0]-s2.getBytes()[0];
              } 
            } 
          };
          return s;
        }
        public static void main(String[] args){
            String[] s = {"李华","张文","刘霞","王俪"};
            Test t = new Test();
            s = t.orderSomething(s);
            for(int i=0;i<s.length;i++){
                System.out.println("s[" + i + "] = " + s[i] + " " + (int)s[i].charAt(0) + " " + (int)s[i].getBytes()[0]);
            }
        }
    }
    测试了一下,如果是按byte排序的话,就是拼音,但是编码不同
    需要哪种,楼主自己看着办吧
      

  7.   

    你那个问题,应该在eclipse里面的build path 增加你自己的jar