A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 珠宝 中级黑马   /  2015-5-18 03:16  /  743 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

给定一个字符串“15 21 38 46 11 21”求是输出一个字符串“11 15 21 21 38 46 ”怎么求,要求写思路和代码

3 个回复

倒序浏览
思路:1、将字符串中的数字切割出来并加入字符串数组。
         2、遍历字符串数组,并加入到list中
         3、用Collections.sort();对list进行排序。
刚刚敲了一下代码,贴出来楼主看看吧。
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.List;


  4. public class SortNum {

  5.         /**
  6.          * @param args
  7.          */
  8.         public static void main(String[] args) {
  9.                 String s="15 21 38 46 11 21";
  10.                 //将字符串中的数字切割出来并加入字符串数组。
  11.                 String []num =s.split(" ");
  12.                 mySort(num);
  13.         }
  14.         //定义排序函数
  15.         public static void mySort(String [] num){
  16.                 List<String> list = new ArrayList<String>();
  17.                 //遍历字符串数组,并加入到list中
  18.                 for (String string : num) {
  19.                         list.add(string);
  20.                 }
  21.                 //用Collections.sort();对list进行排序。
  22.                 Collections.sort(list);
  23.                 for (String string : list) {
  24.                         System.out.println(string);
  25.                 }
  26.         }
  27. }
复制代码
回复 使用道具 举报
不好意思,忘记要输出的是字符串了。
只需要在排序完遍历的时候加进StringBuffer中就行了。下面是代码。
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.List;


  4. public class SortNum {

  5.         /**
  6.          * @param args
  7.          */
  8.         public static void main(String[] args) {
  9.                 String s="15 21 38 46 11 21";
  10.                 //将字符串中的数字切割出来并加入字符串数组。
  11.                 String []num =s.split(" ");
  12.                 mySort(num);
  13.         }
  14.         //定义排序函数
  15.         public static void mySort(String [] num){
  16.                 StringBuffer sbf =new StringBuffer();
  17.                 List<String> list = new ArrayList<String>();
  18.                 //遍历字符串数组,并加入到list中
  19.                 for (String string : num) {
  20.                         list.add(string);
  21.                 }
  22.                 //用Collections.sort();对list进行排序。
  23.                 Collections.sort(list);
  24.                 for (String string : list) {
  25.                         sbf.append(string).append(" ");
  26.                 }
  27.                 System.out.println(sbf.toString());
  28.         }
  29. }
复制代码
回复 使用道具 举报
sort 是按照字符串的默认比较顺序进行排序,还可以根据自定义的比较器进行排序,在参数列表中传入集合和比较器对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马