java程序,写一个方法,输入一个字符串,按顺序输出,具体规则如下: A或a排第一个,Z或z排第二个,B或b排第三个,Y或y排第四个。。。。N或n排第26个。如果大小字母同时出现,则大字母在前小字母在后。如果有数字或者其他,排在最后面不用排序。
时间: 2023-05-22 09:04:49 浏览: 75
java 字符串的排序
好的,以下是这个方法的代码:
public static void orderString(String input) {
StringBuilder output = new StringBuilder();
int[] order = new int[52];
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isLetter(c)) {
if (Character.isUpperCase(c)) {
order[c - 'A'] += 2;
} else {
order[c - 'a']++;
}
}
}
for (int i = 0; i < 26; i++) {
int maxIndex = 0;
for (int j = 0; j < 52; j++) {
if (order[j] > order[maxIndex]) {
maxIndex = j;
}
}
if (order[maxIndex] > 0) {
if (maxIndex < 26) {
output.append((char) ('A' + maxIndex));
} else {
output.append((char) ('a' + maxIndex - 26));
}
order[maxIndex] = 0;
}
}
System.out.println(output.toString());
}
调用orderString方法,把需要排序的字符串传入即可。
阅读全文