黑马程序员_日记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();
    }
}

运行结果
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值