字符串排序程序,对一个字符串中的数值进行从小到大的排序
例如排序前给定的字符串为" 20 78 9 -7 88 36 29"
排序后: -7 9 20 29 36 78 88
要求使用包装类对数值类型的字符串转换成整型进行排序。
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);}//字符串 转 intpublic 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("--------------------------------------------------------");}
}