package cn.stringbuilderdemo;
import java.lang.reflect.Array;
import java.util.Arrays;
/**
* 需求:将整数的字符串进行排序输出,显示在控制台
* 1.将字符串转换成String数组,
* 2.将String数组转变成int数组
* 3.对int数组进行排序
* 4.将int数组转换成字符串,
* 5.打印到控制台
* @author Administrator
*
*/
public class StringSortDemo {
private static final String DOU_HAO=",";
public static void main(String[] args) {
//声明一个字符串
String str="1,78,67,24,654,-9";
System.out.println(str);
System.out.println("------------------------------------");
str=sortStringNum(str);
System.out.println(str);
}
/**
* 方法管理器
*/
public static String sortStringNum(String str){
//将字符串变成数组
String[] str_arr=stringToStringArray(str);
//将字符串数组转变成int数组
int[] num_arr=stringArrayToIntArray(str_arr);
//对int数组进行排序
intArrayToSort(num_arr);
//将int数组转变成字符串
String ss=intArrayToString( num_arr);
return ss;
}
/**
* 将int数组转变成字符换
*/
public static String intArrayToString(int[] num_arr){
//将int数组转变成字符串,需要一个容器存储字符串,用单线程效率高的StringBuilder
StringBuilder s=new StringBuilder();
//对int数组进行遍历,然后将数据存入StringBuilder
for(int i=0;i<num_arr.length;i++){
//对数组进行判断,如果不是最后一个元素,元素后加逗号,如果是最后一个元素,只输出元素就可以了。
if(i!=num_arr.length-1){
s.append(num_arr+DOU_HAO);
}else{
s.append(num_arr);
}
}
return s.toString();
}
/**
* 对int数组进行排序
*/
public static void intArrayToSort(int[] num_arr){
//将int数组进行排序
Arrays.sort(num_arr);
}
/**
* 将字符串数组转变成int数组
*/
public static int[] stringArrayToIntArray(String[] str_arr){
//声明一个int数组,长度与String数组相同
int[] num_arr=new int[str_arr.length];
//遍历String数组
for(int i=0;i<str_arr.length;i++){
//将字符串数据转变成int类型,并赋值给int数组对应角标的元素
num_arr=Integer.parseInt(str_arr);
}
//返回int数组
return num_arr;
}
/**
* 将字符串转变成字符串数组
*/
public static String[] stringToStringArray(String str){
//创建String数组,用来接收分割后的字符串
String[] str_arr=str.split(DOU_HAO);
//返回一个String数组
return str_arr;
}
}
|
|