把給定字符串中的數字排序

把給定字符串中的數字排序

  • A:案例演示
    • 需求:我有如下一個字符串:”91 27 46 38 50”,請寫代碼實現最終輸出結果是:”27 38 46 50 91”
    • 分析:
    • 1,將字符串切割成字符串數組
    • 2,將字符串轉換成數字並將其存儲在一個等長度的int數組中
    • 3,排序
    • 4,將排序後的結果遍歷並拼接成一個字符串
package com.heima.test;
import java.util.Arrays;
public class Test01 {
	public static void main(String[] args) {
		String s = "91 27 46 38 50";
		//1.將字符串切割成字符串數組
		String[] sArr = s.split(" ");
		//2.將字符串轉換成數字並將其存儲在一個等長度的int數組中
		int[] arr = new int[sArr.length];
		for (int i = 0; i < arr.length; i++) {
			//將數字字符串轉換成數字
			arr[i] = Integer.parseInt(sArr[i]);
		}
		
		//3.排序
		Arrays.sort(arr);
		
		//4.將排序後的結果遍歷並拼接成一個字符串27 38 46 50 91
		//這樣不好,會在內存中產生大量垃圾
		/*String str = "";
		for (int i = 0; i < arr.length; i++) {
			if(i == arr.length - 1) {
				str = str + arr[i];				//27 38 46 50 91
			}else {
				str = str + arr[i] + " ";		//27 38 46 50 
			}
		}
		System.out.println(str);*/
		
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < arr.length; i++) {
			if(i == arr.length - 1) {
				sb.append(arr[i]);
			}else {
				sb.append(arr[i] + " ");
			}
		}
		System.out.println(sb);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章