![v2-b960be871ee847cb6c2fea0db4c4fb93_1440w.jpg?source=172ae18b](http://img-03.proxy.5ce.com/view/image?&type=2&guid=26817162-0a34-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-b960be871ee847cb6c2fea0db4c4fb93_1440w.jpg?source=172ae18b)
9、字符串中的数据排序
eg:对“91 27 46 38 50”进行排序,按由低到高的顺序进行排序。
思路:
(1)定义一个字符串
(2)把字符串中的数据存储在int类型的数组中;
得到字符串中每一数字数据
Pubplic String[] split(String regx)
定义一个int数组,把String[]数组中的每一个元素存储到int数组中
Public static int parselnt(String s)
(3)对int数组进行排序
(4)排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用StringBuilder
(5)输出结果
程序:
package Thursday;
import java.util.Arrays;
//eg:对“91 27 46 38 50”进行排序,按由低到高的顺序进行排序。
public class IntegerTest {
public static void main(String[] args){
//定义一个字符串
String s="91 27 46 38 50";
//把字符串中的数据存储在int类型的数组中;
String[] strArray=s.split(" ");
for(int i=0;i<strArray.length;i++){
System.out.println(strArray[i]);
}
//定义一个int数组,把字符串当中的数据都存在int数组当中
int[] arr=new int[strArray.length];
for(int i=0;i<strArray.length;i++){
arr[i]=Integer.parseInt(strArray[i]);
}
//对数组进行排序
Arrays.sort(arr);
System.out.println(arr);
//把排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用StringBuilder
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]).append(" ");
}
String result=sb.toString();
//输出结果
System.out.println(result);
}
}
}
思考对于上述直接打印排序后的结果,亦即对于Array.sort(arr)为什么打印不出来。