黑马程序员技术交流社区
标题:
求给一个数字的字符串排序
[打印本页]
作者:
珠宝
时间:
2015-5-18 03:16
标题:
求给一个数字的字符串排序
给定一个字符串“15 21 38 46 11 21”求是输出一个字符串“11 15 21 21 38 46 ”怎么求,要求写思路和代码
作者:
王建伟
时间:
2015-5-18 08:02
思路:1、将字符串中的数字切割出来并加入字符串数组。
2、遍历字符串数组,并加入到list中
3、用Collections.sort();对list进行排序。
刚刚敲了一下代码,贴出来楼主看看吧。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortNum {
/**
* @param args
*/
public static void main(String[] args) {
String s="15 21 38 46 11 21";
//将字符串中的数字切割出来并加入字符串数组。
String []num =s.split(" ");
mySort(num);
}
//定义排序函数
public static void mySort(String [] num){
List<String> list = new ArrayList<String>();
//遍历字符串数组,并加入到list中
for (String string : num) {
list.add(string);
}
//用Collections.sort();对list进行排序。
Collections.sort(list);
for (String string : list) {
System.out.println(string);
}
}
}
复制代码
作者:
王建伟
时间:
2015-5-18 08:19
不好意思,忘记要输出的是字符串了。
只需要在排序完遍历的时候加进StringBuffer中就行了。下面是代码。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortNum {
/**
* @param args
*/
public static void main(String[] args) {
String s="15 21 38 46 11 21";
//将字符串中的数字切割出来并加入字符串数组。
String []num =s.split(" ");
mySort(num);
}
//定义排序函数
public static void mySort(String [] num){
StringBuffer sbf =new StringBuffer();
List<String> list = new ArrayList<String>();
//遍历字符串数组,并加入到list中
for (String string : num) {
list.add(string);
}
//用Collections.sort();对list进行排序。
Collections.sort(list);
for (String string : list) {
sbf.append(string).append(" ");
}
System.out.println(sbf.toString());
}
}
复制代码
作者:
想要那片海
时间:
2015-5-18 08:21
sort 是按照字符串的默认比较顺序进行排序,还可以根据自定义的比较器进行排序,在参数列表中传入集合和比较器对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2