public class strSort {
public static void main(String[] args) {
//字符串轉爲數組排序
String str = "321654161362065465164";
//轉換
int[] arr = arrChange(str);
//選着排序
int[] arr2 = xzSort(arr);
System.out.println();
//輸出
arrPrt(arr2);
}
//字符串轉爲數組
public static int[] arrChange(String str) {
//字符串轉換爲字符數組
char[] carr = str.toCharArray();
System.out.println(carr);
//定義一個int數組 把字符數組數字放入
int[] arr = new int[carr.length];
for (int i = 0; i < carr.length; i++) {
System.out.print(carr[i] + " ");
//需要減去字符零 不然就是ascii碼
arr[i] = carr[i] - '0';
}
return arr;
}
//選擇排序方法
public static int[] xzSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
//第一個要和後面每一個比較
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int tem = arr[i];
arr[i] = arr[j];
arr[j] = tem;
}
}
}
return arr;
}
//輸出數組的方法
public static void arrPrt(int[] arr) {
//輸出的模板 {xx,xx,xx,xx,}
System.out.print("[");
//一個循環
for (int i = 0; i < arr.length; i++) {
//如果循環到數組的最後一位 就直接輸出 最後一個加上“ }” 符號
if (i == arr.length - 1) {
System.out.print(arr[i] + "]");
//沒有循環到數組的最後一位 繼續輸出
} else {
//輸出數組中的數字
System.out.print(arr[i] + " ");
}
}
System.out.println("一共有" + arr.length + "個數字");
}
}