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

有个字符串,须对其中的值排序的小问题,在线等
java中,
有个字符串,String s5="5,3,1,4";
现须,对此字符串中的值排序,要按升序排,并输出 1,3,4,5
再用降序排,并输出 5,4,3,1
这怎么实现呢,在线等,thanks,

------解决方案--------------------
String[] s = { "5", "3", "1", "4" };
Arrays.sort(s);


直接输出是升序,改一下输出方式,变成降序
------解决方案--------------------
随便写了个,主要是用了一些JDK自带的函数

public static void main(String[] args) {
String s1="5,3,1,4";
String[] s2 = s1.split(",");
Arrays.sort(s2);
String s3 = Arrays.deepToString(s2).replaceAll("\\[", "").replaceAll("\\]", "").replaceAll(" ", "");
System.out.println(s3);
StringBuilder sb = new StringBuilder(s3);
sb.reverse();
System.out.println(sb.toString());
}


打印:
1,3,4,5
5,4,3,1

------解决方案--------------------

        String s5 = "5,3,1,4";
        String[] sArray = s5.split(",");
        int[] iArray = new int[sArray.length];
        for (int i = 0; i < sArray.length; i++) {
            iArray[i] = Integer.parseInt(sArray[i]);
        }
        Arrays.sort(iArray);
        for (int i = 0; i < iArray.length; i++) {
            System.out.print(iArray[i] + " ");
        }
        System.out.println();
        for (int i = iArray.length - 1; i > -1; i--) {
            System.out.print(iArray[i] + " ");
        }
        System.out.println();

------解决方案--------------------
package main.action;

import java.util.Arrays;

public class test {
   public static void main(String[] args) throws Exception {
      String number = "3,1,4,5,2";
      numSort(number, "asc");
   }

   public static void numSort(String numbers, String sort) {
      String[] num = numbers.split(",");
      StringBuffer nums = new StringBuffer();
      Arrays.sort(num);
      if (sort.equals("asc")) {
         for (int i = 0; i < num.length; i++) {
            nums.append(num[i]).append(",");
         }
         System.out.println(nums.toString().substring(0,nums.length()-1));
      }else if(sort.equals("desc")){
         for( int i=num.length-1;i>=0;i--){
            nums.append(num[i]).append(",");
         }
         System.out.println(nums.toString().substring(0,nums.length()-1));
      }
   }
}


numSort第二个参数分别是asc和desc
------解决方案--------------------

import java.util.Arrays;

public class Test001 {

public static void main(String[] args) throws IllegalAccessException {
String s5 = "5,3,1,4";
System.out.println(sort(s5, ","));
System.out.println(sortDesc(s5, ","));
}

static String sort(String sourceStr, String splitStr) {