字符串數字轉爲int數組


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 + "個數字");
  }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章