黑马程序员技术交流社区
标题: String类:将整数字符串进行排序,显示在控制台 [打印本页]
作者: 小穿钉 时间: 2015-11-15 22:07
标题: String类:将整数字符串进行排序,显示在控制台
本帖最后由 小穿钉 于 2015-11-15 22:09 编辑
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;
}
}
作者: gih146 时间: 2015-11-15 22:20
参考一下
作者: sshh11 时间: 2015-11-15 22:30
学习了 谢谢
作者: 小笨笨天 时间: 2015-11-15 22:39
路人学习飘过
作者: 小穿钉 时间: 2015-11-16 00:15
一起交流~~~
作者: 醉叶惜秋 时间: 2015-11-16 00:25
进来学习的
作者: z13561291 时间: 2015-11-16 15:12
保存下 有时间就研究下
作者: zyh1578814923 时间: 2015-11-16 22:12
进来学习的
作者: 小穿钉 时间: 2015-11-17 08:16
加油加油~
作者: 孙志明 时间: 2015-11-17 09:33
学习了 加油加油~
作者: feng0606 时间: 2015-11-17 17:24
有更简单的方法啊,这个写的太复杂了,先转成字符数组,直接使用Arrays工具类排序加上StringBuilder差不多只需要6 7行代码就OK了.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |