上次面试,出了这么个题,给了一个字符串,例如:String test="caDbAf";
问如何将test变为"ADabcf",我开始想用char型数组循环接收,然后排序,可后来面试官说不对,没有这么麻烦,有高人告诉下答案吗

解决方案 »

  1.   

    code=Java]public static void main(String args[]){  
         List list=new ArrayList();
           list.add("c");
           list.add("a");
           list.add("D");
           list.add("b");
           list.add("A");
           list.add("f");
           Collections.sort(list)
           for(int i=0;i<list.size();i++){
               System.out.print(list.get(i));
           }
    }[[/code]
      

  2.   

    第一反应也是char[]数组 然后利用ASCII码直接排序就能得到结果了
      

  3.   

    难道是用     Replace("caDbAf", "ADabcf")         ╮(╯_╰)╭   
      

  4.   

    上楼所写的只是将字母放入LIST里面,再用Collections随机排序
    我觉得:String test="caDbAf" 将test变为"ADabcf",这个用到UNICODE字符码的比较
      

  5.   

    不是随机排序,默然的是升序。如果你需要降序的,只用实现一个Comparator接口就可以了。这是一道老题目了!
      

  6.   

    Arrays.sort(str.toCharArray()); 
    我只想出来这种。
      

  7.   

    吼吼吼吼的,是不是考察应用api的啊 这样写可以不可以的啊
    String str = "caDbAf";
    Arrays.sort(str.toCharArray());这一句话就行了
    嘿嘿!!
      

  8.   


    String s = "caDbAf";
    char[] chs = s.toCharArray();
    Arrays.sort(chs);
    System.out.println(new String(chs));
      

  9.   


    测试看看 String str ="caDbAf";
    char[] ch = str.toCharArray();
    Arrays.sort(ch);
    for (int i = 0; i < ch.length; i++) {
    System.out.print("  "+ch[i]);
    }
      

  10.   

    得到每个char的ascii 再按asc码排序(就是比较int大小的事),排好序后在将int转换为char。
      

  11.   

    晕死人了主要是用Arrays.sort(str.toCharArray());正确输出来,自己去查啊
    下面是完整代码子
    String str = "caDbAf";
    char[] arr = str.toCharArray();
    Arrays.sort(arr);
    String test = Arrays.toString(arr);
    System.out.println(test);
    汗死我了!!多看看api啊
      

  12.   

    public static void main(String[] args) {       String test = "cdaDbA";
          char[] abc = test.toCharArray();
          Arrays.sort(abc) ;       StringBuffer strB = new StringBuffer();
          for (char a: abc) {
           strB.append(a);
          }
          test = strB.toString();
          System.out.print("****"+test);
      
    }楼主试试这个代码。
      

  13.   

    20楼的是正解啊~
    import java.util.Arrays;
    public class px
    {
    public static void main(String []args)
    {
    String str = "caDbAf";
    char[] arr = str.toCharArray();
    Arrays.sort(arr);
    String test = Arrays.toString(arr);
    System.out.println(test);
    }

    }已经测试过了
      

  14.   

    import java.util.Arrays;
    public class px
    {
    public static void main(String []args)
    {
    String str = "caDbAf";
    char[] arr = str.toCharArray();
    Arrays.sort(arr);
    System.out.println(arr);
    }
    }
    这才是正确的