我必須創建一個程序來計算字符串中的字母,並且我有一個小問題。一個計算Java中字符串的字母的程序
這是我的代碼main
:
Scanner sc = new Scanner(System.in);
String str;
int count;
System.out.println("Enter some text: ");
str = sc.nextLine();
char ch;
System.out.println("Letters: ");
for (ch = (char) 65; ch <= 90; ch++) {
count = 0;
for (int i = 0; i < str.length(); i++) {
if (ch == str.charAt(i) || (ch + 32) == str.charAt(i)) {
count++;
}
}
if (count > 0) {
System.out.println(ch + ": " + count);
}
}
一切都看起來不錯,但輸出不應該是按字母順序排列,按字母降序數量相當有序。
例如,如果你輸入的Hello World,輸出應該是這樣的:
L:3
○:2
H:1
d:1
Ë :1
R:1
寬:1
輸出將按字母頻率降序排列。這意味着最頻繁的信件應該首先出現,最後一次出現。
以相同比例出現的字母順序必須按字母順序排列。
當我運行您的程序,我得到預期的結果。代碼看起來也不錯。 – Nikem
您的預期產出是多少? –
像這樣:L:3 ○:2 H:1 d:1 E:1 R:1 寬:1在非字母順序 – Sisi