有如下一个字符串:”91 27 46 38 50 101 1 100 2 200 30”, 然后要求输出是"1 2 27 30 38 46 50 91 100 101 200"这样的!

进行分析:

  • 定义目标字符串"91 27 46 38 50 101 1 100 2 200 30"
  • 对这个字符串进行切割,得到的就是一个字符串数组(使用split()方法)
  • 把字符串数组转换成int类型的数组
  1. 定义一个int类型的数组,数组的长度就是字符串数组长度
  2. 遍历字符串数组,获取每一个元素.将其转换成int类型的数据(可以parseInt())
  3. 把int类型的数据添加到int类型的数组的指定位置
  • 排序(可用sort()方法)
  • 创建一个StringBuilder对象,用来记录拼接的结果
  • 遍历int类型的数组, 将其每一个元素添加到StringBuilder对象中
  • 就是把StringBuilder转换成String
  • 输出

代码实现:

import java.util.Arrays;

public class Test2 {
    public static void main(String[] args) {

        /*
         * 分析:
         * a: 定义目标字符串"91 27 46 38 50"
         * b: 对这个字符串进行切割,得到的就是一个字符串数组
         * c: 把b中的字符串数组转换成int类型的数组
         * (1): 定义一个int类型的数组,数组的长度就是字符串数组长度
         * (2): 遍历字符串数组,获取每一个元素.将其转换成int类型的数据
         * (3): 把int类型的数据添加到int类型的数组的指定位置
         * d: 排序
         * e: 创建一个StringBuilder对象,用来记录拼接的结果
         * f: 遍历int类型的数组, 将其每一个元素添加到StringBuilder对象中
         * g: 就是把StringBuilder转换成String
         * h: 输出
         * */
       
        String str = "91    27    46   38    50 101 1 100 2 200   30";
        String[] arr = str.split("\\s+");
        int[] newArr = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            newArr[i] = Integer.parseInt(arr[i]);
        }
        Arrays.sort(newArr);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < newArr.length; i++) {
            sb.append(newArr[i]).append(" ");
        }
        String s = sb.toString().trim();
        System.out.println(s);

        //结果:1 2 27 30 38 46 50 91 100 101 200
    }
}

(小编也在努力学习更多哟!以后再慢慢分享的啦!)

希望对友友们有所帮助!!!!