【发布时间】:2023-03-21 13:23:01
【问题描述】:
我正在尝试对字符列表进行排序,并按频率顺序及其相关频率输出它们。例如,如果用户输入“beeeerr”,我希望它输出“e freq: 4, r freq: 2, b freq: 1”
这是我目前所拥有的:
public static void sort(String charInput) {
int frequency = 0;
char [] charArray = charInput.toCharArray();
for (char charValue = ' '; charValue <= '~'; charValue++) {
frequency = 0;
for (int i = 0; i < charInput.length(); i++) {
char compare = charArray[i];
//charInput.charAt(i)
if (compare == charValue) {
frequency += 1;
}
}
if (frequency > 0) {
System.out.println(charValue + " freq: " + frequency);
}
}
}
问题在于它按字母顺序输出频率。我不知道如何按频率对输出进行排序。我知道如何使用 Hashmaps 或 Arraylists 轻松做到这一点,但我不允许使用它们。任何帮助将不胜感激
【问题讨论】: