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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

对字符串中字符进行自然顺序排序。
例如,"vcz1bdAa+cs"-->abccdsvz
思路:
1 把字符串变成字符数组
2 对数组进行排序
3 找到字符数组中'a'第一次出现的位置找到
4 计算要转换的字符个数
5 把字符数组变成字符串
  1. import java.util.Arrays;
  2. class StringSortDemo
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 String str1 = "vcz1bdAa+cs";
  7.                 String str2 = sort(str1);
  8.                 System.out.println(str2);
  9.         }

  10.         //对字符串进行字典序排序
  11.         public static String sort(String str)
  12.         {
  13.                 //1 把字符串变成字符数组
  14.                 char[] charArray = str.toCharArray();

  15.                 //2 对数组进行排序
  16.                 Arrays.sort(charArray);

  17.                 //3 找到字符数组中'a'第一次出现的位置找到
  18.                 int start = index(charArray);
  19.                
  20.                 //4 计算要转换的字符个数
  21.                 int count = charArray.length - start;

  22.                 //5 把字符数组变成字符串
  23.                 return new String(charArray,start,count);
  24.         }

  25.         //找到字符数组中'a'第一次出现的位置找到
  26.         public static int index(char[] charArray)
  27.         {
  28.                 for(int i = 0;i < charArray.length; i++)
  29.                 {
  30.                         if(charArray[i] == 'a')
  31.                                 return i;
  32.                 }
  33.                 return charArray.length;
  34.         }
  35. }
复制代码



字典序排序结果.jpg (54.76 KB, 下载次数: 47)

字典序排序结果.jpg

1 个回复

倒序浏览
{:3_65:}没人回复啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马