對數字型字串按照數字大小進行排序
阿新 • • 發佈:2018-11-14
題目:對數字型字串按照數字大小進行排序
示例:
輸入字串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