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

来源:互联网 发布:痕惠吃淘宝 编辑:程序博客网 时间:2024/09/21 09:00

 ——- 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();    }}

运行结果
这里写图片描述

0 0