版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37036984/article/details/79421532
题目:对数字型字符串按照数字大小进行排序
示例:
输入字符串str1值: 11 23 -32 88 0 -228 99 29 560 33
输出结果:-228 -32 0 11 23 29 33 88 99 560
实现代码:
import java.lang.reflect.Array;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String str1 = "11 23 -32 88 0 -228 99 29 560 33" ;
System.out.println(str1);
str1 = stringToIntSort(str1);
System.out.println(str1);
}
private static String stringToIntSort(String str1) {
String[] arr1 =stringToArray(str1);//字符串变成字符串数组
int[] m = stringArrayToInt(arr1);//字符串数组变成int数组
sortIntArray(m);//对int数组进行排序
String str2 = intArrayToString(m);//将int数组变成字符串
return str2;
}
public static String intArrayToString(int[] m) {
StringBuffer sb = new StringBuffer();
for(int i = 0;i<m.length;i++){
if(i!=m.length)
sb.append(m[i]+" ");
else
sb.append(m[i]);
}
return sb.toString();
}
public static void sortIntArray(int[] m) {
Arrays.sort(m);
}
public static int[] stringArrayToInt(String[] arr1) {
int[] arr2 = new int[arr1.length];
for(int i = 0;i<arr1.length;i++){
arr2[i] = Integer.parseInt(arr1[i]);
}
return arr2;
}
public static String[] stringToArray(String str1) {
return str1.split(" ");
}
}
运行结果:
11 23 -32 88 0 -228 99 29 560 33
-228 -32 0 11 23 29 33 88 99 560