本文實例講述了Java實現對字符串中的數值進行排序操作。分享給大家供大家參考,具體如下:
問題:
對"34 9 -7 12 67 25"這個字符串中的數值從小到大排序!
解決方法:
先介紹幾個eclipse快捷鍵:輸入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); }}運行結果:
PS:這裡再為大家推荐一款關於排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸併/希爾/快速排序算法過程工具:
http://tools.VeVB.COm/aideddesign/paixu_ys
更多關於java算法相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。