示例代码
import java.util.*;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static String sortHelp(String str) {
ArrayList<Character> list = new ArrayList<>();
//先将英文字母收集起来
for (char ch : str.toCharArray()) {
if (Character.isLetter(ch)) {
list.add(ch);
}
}
//先将英文字母排好序
list.sort((a, b)->Character.toLowerCase(a) - Character.toLowerCase(b));
StringBuilder res = new StringBuilder();
int index = 0;
for (int i = 0; i < str.length(); i++) {
if (Character.isLetter(str.charAt(i))) {
res.append(list.get(index++));
} else {
res.append(str.charAt(i));
}
}
return new String(res);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNext()) { // 注意 while 处理多个 case
System.out.println(sortHelp(in.nextLine()));
}
}
}
效果展示