//将字符串中的数据进行排序后生成一个新的字符串 "12 4 2 8 9 23 35"
/*
思路:
1.取出数据
2.将数据放到int数组中
3.对int数组进行排序
4.将int数组转换成字符串。
*/
class Tool
{
/*
对数值字符串进行排序的功能
*/
public static String sortNumberString(String str,String reg)
{
String[] arr=splitString(str,reg);
int[] temp=stringToIntArray(arr);
sortArray(temp);
return toString(temp,reg);
}
/*
1. 将字符串切割,先把数值都取出来
*/
public static String[] splitString(String str,String reg)
{
return str.split(reg);
}
/*
2.将字符串数组转换成int数组
*/
private static int[] stringToIntArray(String[] array)
{
int[] temp=new int[array.length];
for(int x=0;x<array.length;x++)
{
temp[x]=Integer.parseInt(array[x]);
}
return temp;
}
/*3.对int数组进行排序*/
public static void sortArray(int[] arr)
{
//Arrays.sort(arr);
for(int x=0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
/*4.将int数组变成字符串*/
private static String toString(int[] arr,String reg)
{
StringBuilder sb=new StringBuilder();
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
sb.append(arr[x]+reg);
else
sb.append(arr[x]);
}
return sb.toString();
}
}
class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String s=Tool.sortNumberString("12 4 2 8 9 23 35"," ");
System.out.println(s);
}
}
output:2 4 8 9 12 23 35