import java.util.Scanner;
/**
* 对输入字符串进行排序
*
* @author 杨飞
* 循环依次找出a~z(排好序了), 不是a~z的插入到原来的位置
*/
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String s = sc.nextLine();
char[] chArray = s.toCharArray();
System.out.println(stringSort(chArray));
}
}
// 字符串排序
public static String stringSort(char chArray[]) {
StringBuffer sb = new StringBuffer();// 存放排序的字符串
// 外循环,循环26次,找出a~z
for (int i = 0; i < 26; i++) {
char ch = (char) ('a' + i);
for (int j = 0; j < chArray.length; j++) {
// 如果相等则输出到sb中
if (chArray[j] == ch || chArray[j] == (char) (ch + 'A' - 'a')) {
sb.append(chArray[j]);
}
}
}
// 第二次循环,把不属于a~z之间的字符插回原处
for (int i = 0; i < chArray.length; i++) {
if (!(chArray[i] >= 'a' && chArray[i] <= 'z' || chArray[i] >= 'A' && chArray[i] <= 'Z')) {
sb.insert(i, chArray[i]);// 直接调用插入方法
}
}
return sb.toString();// 转型
}
}
字符串排序
最新推荐文章于 2022-05-28 13:26:43 发布