日期:2014-05-20  浏览次数:20796 次

String数组排序
Java code
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Hello {
public static void main(String[] args) {
String s[]={"5","a","8","12","c","b","d","c","a","b","e","f","f","8","22","a","f","e","15"};
int temp=0;
int a=0;
String c[]={};
ArrayList<String> list=new ArrayList<String>();
    for(int i=0;i<s.length;i++){
        list.add(s[i]);
        for(int j=0;j<list.size();j++){
        if(!(list.get(j)).contains("a")&&!(list.get(j)).contains("f")&&!(list.get(j)).contains("c")&&!(list.get(j)).contains("b")&&!(list.get(j)).contains("e")){
            a=temp++;
            
            String s1=list.remove(j);
        //System.out.println("次数"+a);
            //System.out.println("字母"+s1);
            c=s1.split("[a-z]");
    Arrays.sort(c);//这里有问题

for(int k=0;k<c.length;k++){
System.out.println(c[k]);
}


}

        
    }



    
    }for(int k=0;k<c.length;k++){
System.out.println(c[k]);
}
    
    }
    }

帮我看看为什么Arrays.sort()传入的数组没有进行排序,我是哪里出错了。





------解决方案--------------------
探讨

System.out.println("字母"+s1);
s1得出的结果是5,8,12,d,8,22,15
数组C遍历得到的结果是5,812,8,22,15

------解决方案--------------------
探讨
老大,程序是按步骤完成的。
1 先去除数组中重复的字母
2 把剩下不重复的字母全部去掉
3 去除完所有字母后,完成对于数字的排序。
这3个步骤1个也不能少,并且要从第1步开始一步一步的执行,不能直接跳到第3步开始执行,这个就是需求。