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

© itheima_llt 高级黑马   /  2015-4-11 17:49  /  1363 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

输入一int型的数字字符串 用空格间隔,从小到大排序后,以字符串返回。
"12 0 99 -7 30 4 100 13"
要求对字符串中的数值进行排序。生成一个数值从小到大新字符串。

"-7 0 4 12 13 30 99 100"

分析:
1 用split方法把字符串切割成String[]类型的数组。
2 把String[]数组转为int[]数组。
3 对int数组进行排序
4 把int数组转为字符串
  1. import java.util.Arrays;
  2. import java.lang.Integer;
  3. class StringNumberSortDemo
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 String str = "12 0 99 -7 30 4 100 13";
  8.                 String str2 = stringNumberSort(str);
  9.                 System.out.println(str2);
  10.         }

  11.         //把String类型的数字按升序排序
  12.         public static String stringNumberSort(String str)
  13.         {
  14.                 //1 用split方法把字符串切割成String[]类型的数组
  15.                 String[] strArray = str.split(" ");       

  16.                 //2 定义一个int[]数组
  17.                 int[] array = new int[strArray.length];

  18.                 //3 利用Integer.parseInt(String s)方法把String[]转为int[]
  19.                 for(int i = 0;i < strArray.length;i++)
  20.                         array[i] = Integer.parseInt(strArray[i]);

  21.                 //4 int数组排序
  22.                 Arrays.sort(array);

  23.                 //5 利用StringBuilder存储
  24.                 StringBuilder sb = new StringBuilder();
  25.                 for(int i = 0;i < array.length;i++)
  26.                         sb.append(array[i]).append(" ");               
  27.                
  28.                 //6 转为String
  29.                 return sb.toString();
  30.         }
  31. }
复制代码




String数字排序.jpg (69.04 KB, 下载次数: 88)

String数字排序.jpg

3 个回复

倒序浏览
Integer.parseInt最好是添加异常处理
回复 使用道具 举报
{:3_54:}大家一起交流一下啊!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马