對一個字符串中的數值進行從小到大的排序。 "20 78 9 -7 88 36 29"
- 這個字符串中其實都是空格對數值進行分隔。 所以就想到用字符串對象的切割方法將大串變成多個小串。
- 字符串 -----> 基本類型 可以使用包裝類
import java.util.Arrays;
public class WrapperDemo2 {
private static final String SPACE_SEPERATOR = " ";
public static void main(String[] args) {
String s = "20 78 9 -7 88 36 29";
System.out.println(s);
String num_str = sortStringNum(s);
System.out.print(num_str);
}
public static String sortStringNum(String s) {
//將字符串變成字符串數組
String[] str_arr = toStringArray(s);
//將字符串數組變成 int 數組
int[] num_arr = toIntArray(str_arr);
//對 int 數組排序
sortArray(num_arr);
//將排序後的數組變成字符串
String temp = arrayToString(num_arr);
return temp;
}
public static String[] toStringArray(String s) {
String[] str_arr = s.split(SPACE_SEPERATOR);
return str_arr;
}
public static int[] toIntArray(String[] str_arr) {
int[] num_arr = new int[str_arr.length];
for(int i = 0; i < num_arr.length; i++) {
num_arr[i] = Integer.parseInt(str_arr[i]);
}
return num_arr;
}
public static void sortArray(int[] num_arr) {
Arrays.sort(num_arr);
}
public static String arrayToString(int[] num_arr) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < num_arr.length; i++) {
if(i != num_arr.length - 1) {
sb.append(num_arr[i] + SPACE_SEPERATOR);
} else {
sb.append(num_arr[i]);
}
}
return sb.toString();
}
}
打印結果
20 78 9 -7 88 36 29
-7 9 20 29 36 78 88