字符串排序程序

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

例如排序前给定的字符串为" 20 78 9 -7 88 36 29"
排序后: -7 9 20 29 36 78 88
要求使用包装类对数值类型的字符串转换成整型进行排序。

java 复制代码
public class StringSort {
    public static void main(String[] args) {
        String str = "20 78 9 -7 88 36 29";
        //将字符串 转化为Int类型 并存入int数组
        int[] strArr = strChange(str);
        //排序
        strSort(strArr);
        //输出
        printArray(strArr);
    }
    //字符串 转 int
    public static int[] strChange(String s){
        //观察数据可知,可用spilt方法,以空格为分隔符,将字符串分隔开,并存入String数组
        String[] spiltStr = s.split(" ");
        //创建新数组,用于存放转化为int后的数据
        int[] strInt= new int[spiltStr.length];
        for (int i = 0; i < spiltStr.length; i++) {
            //调用Integer类的parseInt方法,将String类型转化为Int类型
            strInt[i] = Integer.parseInt(spiltStr[i]);
        }
        return strInt;
    }
    //选择排序法
    public static void strSort(int[] arr){
        for (int i = 0; i < arr.length; i++) {
            int k=i;
            for (int j = i+1; j <arr.length ; j++) {
                if (arr[k]>arr[j]){
                    k = j;
                }
            }
            int temp = arr[i];
            arr[i] = arr[k];
            arr[k] = temp;
        }
    }
    //打印数组函数
    public static void printArray(int[] arr){
        for (int i=0;i<arr.length;i++) {
            if (i==0){
                if (arr.length==1){
                    System.out.println("["+arr[0]+"]");
                }else{
                    System.out.print("["+arr[i]+",");
                }
            }else if(i==arr.length-1){
                System.out.println(arr[i]+"]");
            }else {
                System.out.print(arr[i]+",");
            }

        }
        System.out.println("--------------------------------------------------------");
    }
}
相关推荐
我要添砖java几秒前
<JAVAEE>多线程6-面试八股文之juc中的组件
java·面试·java-ee
红队it几秒前
【Spark+Hive】基于Spark大数据旅游景点数据分析可视化推荐系统(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅
大数据·python·算法·数据分析·spark·django·echarts
Jul1en_3 分钟前
【Spring DI】Spring依赖注入详解
java·spring boot·后端·spring
Unstoppable225 分钟前
八股训练营第 35 天 | volatile 关键字的作用有那些?volatile 与synchronized 的对比?JDK8 有哪些新特性?
java·八股·volatile
渡我白衣6 分钟前
深入理解算法库的灵魂——彻底掌握 <algorithm> 的范式、迭代器约束、隐藏陷阱与性能真相
数据结构·c++·人工智能·网络协议·mysql·rpc·dubbo
CoovallyAIHub8 分钟前
为什么企业如今不应该忽视计算机视觉?计算机视觉如何为企业降本增效、规避风险?
深度学习·算法·计算机视觉
Lisonseekpan9 分钟前
HTTP请求方法全面解析:从基础到面试实战
java·后端·网络协议·http·面试
smile_Iris11 分钟前
Day 26 常见的降维算法
开发语言·算法·kotlin
dadaobusi12 分钟前
全局量子时间
算法
南部余额13 分钟前
深入理解 SpringBoot 核心:自动配置原理、ImportSelector与配置加载机制
java·spring boot·自动配置原理·importselector