Java練習題14_6(第一階段基礎)
阿新 • • 發佈:2018-11-03
2018.10.23 晴
程式練習題1 :把給定字串中的數字字元排序需求:我有如下一個字串:”91 27 46 38 50”,請寫程式碼實現最終輸出結果是:”27 38 46 50 91”
1.分析:
(1)將字串切割成單個數字字元
實現方法:String類 中的split()方法
(2)將字元陣列的元素轉換為int型別儲存在int陣列中(因為字元型別元素排序是根據第一個數字字元排序的(如100 會小於80))
實現方法: Intager包裝類中的parseInt() 方法
(3)將陣列進行排序
實現方法: 可以用選擇排序或者氣泡排序
或者Arrays中的sort()方法
(4)將Int陣列中元素拼接成字串
實心方法:*String 的空串進行拼接(由於是不可變字元序列,會造成很多垃圾)
*StringBuilder 進行拼接(可變字串)
實現程式碼:
package com.heima.text; import java.util.Arrays; public class text { public static void main(String[] args) { String s = "91 27 46 38 50"; //原始字串 //1.將字串切割成成字元陣列,split() String regex = "\\s"; String[] arr1 = s.split(regex); //2.將字元陣列中的字串轉換成數字,再儲存在一個等長度的int型別陣列中,parseInt() int[] arr2 = new int[arr1.length]; //建立一個等長度的int型別陣列 for (int i = 0; i < arr2.length; i++) { arr2[i] = Integer.parseInt(arr1[i]); } //3.將陣列進行排序,sort() Arrays.sort(arr2); //4.將int型別陣列轉換成字串,append() StringBuilder sb = new StringBuilder(); //新建一個可變字串類物件 for (int i = 0; i < arr2.length; i++) { if(i == arr2.length-1) { sb.append(arr2[i]); }else { sb.append(arr2[i] + " "); } } //5.列印 System.out.println(sb); } } } }
程式碼結果:
27 38 46 50 91