黑马程序员_日记27_JavaString类型的数字排序问题

 ——- android培训java培训、期待与您交流! ———-

输入一int型的数字字符串 用空格间隔,从小到大排序后,以字符串返回。
“12 0 99 -7 30 4 100 13”
要求对字符串中的数值进行排序。生成一个数值从小到大新字符串。

“-7 0 4 12 13 30 99 100”

分析:
1 用split方法把字符串切割成String[]类型的数组。
2 把String[]数组转为int[]数组。
3 对int数组进行排序
4 把int数组转为字符串

import java.util.Arrays;
import java.lang.Integer;
class StringNumberSortDemo 
{
    public static void main(String[] args) 
    {
        String str = "12 0 99 -7 30 4 100 13";
        String str2 = stringNumberSort(str);
        System.out.println(str2);
    }

    //把String类型的数字按升序排序
    public static String stringNumberSort(String str)
    {
        //1 用split方法把字符串切割成String[]类型的数组
        String[] strArray = str.split(" "); 

        //2 定义一个int[]数组
        int[] array = new int[strArray.length];

        //3 利用Integer.parseInt(String s)方法把String[]转为int[]
        for(int i = 0;i < strArray.length;i++)
            array[i] = Integer.parseInt(strArray[i]);

        //4 int数组排序
        Arrays.sort(array);

        //5 利用StringBuilder存储
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i < array.length;i++)
            sb.append(array[i]).append(" ");        

        //6 转为String
        return sb.toString();
    }
}

运行结果
技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。