java-对一个字符串中的数值进行从小到大的排序

package top.websec.string.demo;

import java.util.Arrays;
/*
 * 
 * 对一个字符串中的数值进行从小到大的排序
 */
public class StringMethodDemo {
    private static final String SPACE_SEPARATOR = " ";

    public static void main(String[] args) {
        
        String numStr = "20 78 9 -7 88 36 29";
        System.out.println(numStr);
        numStr = sortStringNumber(numStr);
        System.out.println(numStr);
        
        
    }

    private static String sortStringNumber(String numStr) {
        
        //字符转字符串数组。
        String[] str_arr = stringToArray(numStr);
        //字符串转int数组
        int[] num_arr = toIntArray(str_arr);
        //对int 数组排序。
        mySortArray(num_arr);
        //排序后的int数组转成字符串
        String temp = arrayToString(num_arr);
        return temp;
    }

    private static String arrayToString(int[] num_arr) {
        StringBuilder sb = new StringBuilder();
        for(int x = 0; x<num_arr.length; x++){
            if(x!=num_arr.length-1)
                sb.append(num_arr[x]+SPACE_SEPARATOR);
            else
                sb.append(num_arr[x]);
        }
        
        return sb.toString();
        
    }

    private static void mySortArray(int[] num_arr) {
        Arrays.sort(num_arr);
        
    }

    private static int[] toIntArray(String[] str_arr) {
        int [] arr = new int[str_arr.length];
        for(int i=0;i<str_arr.length;i++){
            arr[i] = Integer.parseInt(str_arr[i]);
            
        }
        return arr;
    }

    private static String[] stringToArray(String numStr) {
        String[] str_arr = numStr.split(SPACE_SEPARATOR);

        return str_arr;
    }

    

    
    

}

标签: none