任务场景:编写一个程序,对"20 78 9 -7 88 36 29"字符串进行排序设计,要求使用包装类对数值类型的字符串转换成整型进行排序。
import java.util.Arrays;
public class test3 {
private static final String space=" ";
// 主方法
public static void main(String[] args) {
String numStr="20 78 9 -7 88 36 29";
System.out.println(numStr);
numStr=sortStringNumber(numStr);
System.out.println(numStr.toString());
}
public static String sortStringNumber(String numStr) {
String[] strarr=stringToArray(numStr); //将字符串变为数组
int[] numarr=toIntArray(strarr); //将字符串数组变为int数组
mySortArray(numarr); //排序
String temp=arrayToString(numarr); //排序后变为字符串
return temp;
}
// 字符串转换成数组
private static String[] stringToArray(String numStr) {
String[] strarr=numStr.split(space);
return strarr;
}
//排序
private static void mySortArray(int[] numarr) {
Arrays.sort(numarr);
}
private static String arrayToString(int[] numarr) {
StringBuffer sb=new StringBuffer();
for(int x=0;x<numarr.length;x++) {
if(x!=numarr.length-1) {
sb.append(numarr[x]+space);
}else {
sb.append(numarr[x]);
}
}
return sb.toString();
}
// 变为整数数组
private static int[] toIntArray(String[] strarr) {
int[] arr=new int[strarr.length];
for(int i=0;i<arr.length;i++) {
arr[i]=Integer.parseInt(strarr[i]);
}
return arr;
}
}