我正在尝试在 Java 中创建一个 hashmap 类来计算出现的每个单词。它在大多数情况下都有效,但是当我尝试使用该段落时:
“他们给婴儿取名为苏珊。那个经理发现盒子是空的。唐娜的女儿把门开着。那个音乐家觉得这本书很有趣。那个牙医给狗起名叫菲多”
它检测除“那个”之外的所有其他单词的正确数量。“那个”在段落中出现了 3 次,但它只检测到一个“那个”。这是代码:
import java.util.*;
public class WordCounts extends ConsoleProgram
{
public void run()
{
HashMap<String,Integer> h = new HashMap<String,Integer>();
String input = readLine("Enter a string: ");
String[] words = input.split(" ");
for(int i=0; i<words.length; i++)
{
Integer num = h.get(words[i]);
if( num == null)
num = new Integer(1);
else
num = new Integer(num.intValue() + 1);
h.put(words[i].toLowerCase(), num);
}
printSortedHashMap(h);
}
/*
* This method takes a HashMap of word counts and prints out
* each word and it's associated count in alphabetical order.
*
* @param wordCount The HashMap mapping words to each word's frequency count
*/
private void printSortedHashMap(HashMap<String, Integer> wordCount)
{
// Sort all the keys (words) in the HashMap
Object[] keys = wordCount.keySet().toArray();
Arrays.sort(keys);
// Print out each word and it's associated count
for (Object word : keys)
{
int val = wordCount.get(word);
System.out.println(word + ": " + val);
}
}
}
如果有人可以提供帮助,我将不胜感激。提前致谢。
编辑:我在描述中不小心写了“那个”而不是“那个”;我的意思是我试图弄清楚为什么班级不计算每个“那个”。
千巷猫影
素胚勾勒不出你
侃侃尔雅
慕标5832272
相关分类