黑马程序员技术交流社区
标题:
把字符串排成AaBbCc...顺序
[打印本页]
作者:
iceknc
时间:
2015-9-26 17:01
标题:
把字符串排成AaBbCc...顺序
/**
* 将字符串按字典顺序排列,字符串只能由大小写字母跟数字组成
*
* @param str
* 要排序的字符串
* @return 排好序的字符串,格式:AaBbCcDd...Zz0123456789
*/
public static String stringSrot(String str) {
if (str.length() == 0 || str == null)
return str;
String standard = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789";
// 先将字符串变成字符数组
char[] chr = str.toCharArray();
// 把字符数组变成对应标准字符串位置的int型数组
int[] num = new int[str.length()];
for (int i = 0; i < chr.length; i++) {
num[i] = standard.indexOf(chr[i]);
}
// 对转换成int型的数组排序
Arrays.sort(num);
// 排序后的int型再转成char型数组
for (int i = 0; i < chr.length; i++) {
chr[i] = standard.charAt(num[i]);
}
// 将排序后的字符数组转成字符串返回
return String.copyValueOf(chr);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2