把給定字符串中的數字排序
- 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);
}
}