一、运行结果:
二、实现思路:
1、把字符串转为字符数组
String[] arr_str = str.split(" ");
2、把string数组转为int数组
// string ---> int
arr_int[i] = Integer.parseInt(arr_str[i]);
3、对int数组进行排序
Arrays.sort(arr_int);
4、把int数组转为string
StringBuffer transStr = new StringBuffer();
transStr = transStr.append(arr_int[i] + " ");
return transStr.toString(); // 不能直接return transStr ,数据类型不匹配
三、实现代码:
/**
*@Title SortNumber.java
*@time 2019年6月20日 下午1:40:33
*@author wangyue
*@version 1.0
*@description 把数字字符串排序
*/
package taskSortNumber;
import java.util.Arrays;
public class SortNumber {
public static void main(String[] args) {
String str = new String("78 23 9 -3 -8");
System.out.println(str);
// 调用方法,返回从小到大排序的字符串
String sortStr = sortString(str);
System.out.println(sortStr);
}
// 返回“-8 -3 9 23 78”
public static String sortString(String str) {
// 1、把字符串转为字符数组
String[] arr_str = str.split(" ");
// 2、把string数组转为int数组
int[] arr_int = toIntArr(arr_str);
// 3、对int数组进行排序
Arrays.sort(arr_int);
// 4、把int数组转为string
String sortStr = arrayToString(arr_int);
return sortStr;
}
// 把string数组转为int数组
public static int[] toIntArr(String[] arr_str) {
// 创建int数组
int[] arr_int = new int[arr_str.length];
for (int i = 0; i < arr_int.length; i++) {
// string ---> int
arr_int[i] = Integer.parseInt(arr_str[i]);
}
return arr_int;
}
// 把int数组转为string
public static String arrayToString(int[] arr_int) {
StringBuffer transStr = new StringBuffer();
for (int i = 0; i < arr_int.length; i++) {
// 不是最后一个数字
if (i != arr_int.length - 1) {
transStr = transStr.append(arr_int[i] + " ");
} else {
// 是最后一个数字
transStr = transStr.append(arr_int[i]);
}
}
return transStr.toString(); // 不能直接return transStr ,数据类型不匹配
}
}