java 對字串中的數值排序
阿新 • • 發佈:2019-01-05
對"34 9 -7 12 67 25"這個字串中的數值從小到大排序!
介紹幾個快捷鍵:for+"alt+/"快速寫一個for迴圈 選中某一個小寫單詞 Ctrl+Shift+x 可變大寫 選中某一個大寫單詞 Ctrl+Shift+y 可變小寫
下面請看具體實現程式碼:
import java.util.Arrays; public class Main_4 { private static String SPACE=" "; public static void main(String[] args) { /* * 綜合練習: * 對"34 9 -7 12 67 25"這個字串中的數值從小到大排序 */ String str="34 9 -7 12 67 25"; str=sortStringNumber(str); System.out.println(str); } private static String sortStringNumber(String str) { // 1 將字串中的數值通過一定的規則進行切割獲取字串陣列 String[] str_nums=toStringArray(str); // 2 將字串陣列轉換成int陣列 int[] nums=toIntArray(str_nums); // 3 對int陣列排序 sortIntArray(nums); // 4 將int陣列變成字串 return ArrayToString(nums); } /* * 將int陣列變成字串 */ private static String ArrayToString(int[] nums) { // 1 建立字串緩衝區 StringBuilder sb=new StringBuilder(); for (int i = 0; i < nums.length; i++) { if(i!=nums.length-1) sb.append(nums[i]+SPACE); else sb.append(nums[i]); } return sb.toString(); } /* * 對int陣列排序 */ private static void sortIntArray(int[] nums) { Arrays.sort(nums); } /* * 將字串陣列轉換成int陣列 */ private static int[] toIntArray(String[] str_nums) { // 定義一個int陣列 int[] arr=new int[str_nums.length]; // 對字串陣列進行遍歷 for (int i = 0; i < arr.length; i++) { // 將陣列格式的字串轉成整數,儲存到arr陣列中 arr[i]=Integer.parseInt(str_nums[i]); } return arr; } /* * 將字串轉成字串陣列 */ private static String[] toStringArray(String str) { return str.split(SPACE); } }