我正在制作一个Java程序,它可以对句子进行评分并显示更高分的句子。我要做的是读取文本文件,将文本文件中的信息拆分成单独的句子,计算文本文件中重复的单词数,给重复单词组成的句子打分,最后显示句子得分超过1。
到目前为止,我已设法分割每个句子,现在我试图给每个重复的单词分数。以下代码显示了我的进度。
但是,上面代码中的for循环似乎不起作用。
我在这里做错了什么?
答案 0 :(得分:0)
您可以实际使用地图解决问题,将单词映射为此计数 那么你的得分函数
private static void score(String sentence){
Map<String,Integer> score = new HashMap<String,Integer>();
for(String key : sentence.split(" ")){
if(score.get(key) == null) score.put(key,0);
score.put(key,score.get(key)+1);
}
//Printing scores for your keys, you can add the case where your key is= to 'a , the ,and ...'
for (String key : score .keySet()) {
System.out.println("Key = " + key+" Score : "+score.get(key));
}
}
在for循环中你可以这样做:
for (int i = 0; i < sentenceList.size(); i++) {
score(sentenceList.get(i));
}