当前位置: 代码迷 >> J2SE >> String数组排序,该如何解决
  详细解决方案

String数组排序,该如何解决

热度:215   发布时间:2016-04-24 01:31:59.0
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步开始执行,这个就是需求。
  相关解决方案