我需要编写一个函数来计算字符串中每个字母的频率。
这是一个例子:
我收到文件:notes.txt,消息包括:“你好,这是内布拉斯加州的杰克”
当我读取文件时,结果如下:
a:3
高:1
e:2
l:2
等等
有人告诉我可以使用Stringtokeizer,这是真的吗?
最佳答案
public static void main(String... args) {
String str = "Hello this is Jack from Nebraska";
Map<Character, Integer> frequencies = new HashMap<Character, Integer>();
for (char c : str.toCharArray()) {
if (!frequencies.containsKey(c))
frequencies.put(c, 1);
else
frequencies.put(c, frequencies.get(c) + 1);
}
System.out.println(frequencies);
}
输出:
{f=1, =5, e=2, b=1, c=1, a=3, o=2, N=1, l=2, m=1, H=1, k=2, h=1, J=1, i=2, t=1, s=3, r=2}
关于java - 使用StringTokenizer计算字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11278756/