📅  最后修改于: 2023-12-03 15:31:34.569000             🧑  作者: Mango
在Java中,我们可以使用Map
来存储每个字符出现的次数,并通过比较次数大小来找到重复次数最多的字符。
以下是实现的代码:
import java.util.HashMap;
import java.util.Map;
public class FindMostFrequentChar {
public static void main(String[] args) {
String str = "Hello World";
Character mostFrequentChar = findMostFrequentChar(str);
System.out.println("The most frequent character is: " + mostFrequentChar);
}
private static Character findMostFrequentChar(String str) {
Map<Character, Integer> charMap = new HashMap<>();
for(int i=0; i<str.length(); i++) {
char c = str.charAt(i);
if (charMap.containsKey(c)) {
charMap.put(c, charMap.get(c) + 1);
} else {
charMap.put(c, 1);
}
}
int max = 0;
Character mostFrequentChar = null;
for (Map.Entry<Character, Integer> entry : charMap.entrySet()) {
if (entry.getValue() > max) {
max = entry.getValue();
mostFrequentChar = entry.getKey();
}
}
return mostFrequentChar;
}
}
Map<Character, Integer>
类型的变量charMap
,用于存储每个字符和其出现的次数。str
的每一个字符,如果charMap
中已经包含该字符,则将该字符对应的计数器加1;否则,将该字符加入到charMap
中,并将其计数器初始化为1。charMap
,找到出现次数最多的字符。main()
函数为程序的入口函数,调用findMostFrequentChar()
函数并输出结果。findMostFrequentChar()
函数接收一个字符串参数str
,返回其中出现次数最多的字符。findMostFrequentChar()
函数中,首先声明一个Map<Character, Integer>
类型的变量charMap
,用于存储每个字符和其出现的次数。for
循环遍历字符串str
的每一个字符,如果charMap
中已经包含该字符,则将该字符对应的计数器加1;否则,将该字符加入到charMap
中,并将其计数器初始化为1。charMap
,找到出现次数最多的字符并返回。以上代码输出结果为:
The most frequent character is: l
其中,字符串"Hello World"
中出现次数最多的字符为小写字母'l'
,它出现了3次。