Java 使用单词重复在文本文件中为句子打分

Java 使用单词重复在文本文件中为句子打分,java,android,for-loop,Java,Android,For Loop,我正在制作一个Java程序,它可以给句子打分,并显示分数更高的句子。我要做的是阅读文本文件,将文本文件中的信息拆分为单独的句子,计算文本文件中重复的单词数,对包含重复单词的句子进行评分,最后显示分数超过1的句子 到目前为止,我已经成功地把每个句子分开,现在我正试图给每个重复的单词打分。下面的代码显示了我的进度 然而,上面代码中的for循环似乎不起作用 我做错了什么?你可以用一张地图来解决你的问题,把单词映射成这样 那么你的得分函数呢 private static void score(Strin

我正在制作一个Java程序,它可以给句子打分,并显示分数更高的句子。我要做的是阅读文本文件,将文本文件中的信息拆分为单独的句子,计算文本文件中重复的单词数,对包含重复单词的句子进行评分,最后显示分数超过1的句子

到目前为止,我已经成功地把每个句子分开,现在我正试图给每个重复的单词打分。下面的代码显示了我的进度

然而,上面代码中的for循环似乎不起作用


我做错了什么?

你可以用一张地图来解决你的问题,把单词映射成这样 那么你的得分函数呢

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));
 }
}
私有静态无效分数(字符串句子){
Map score=newhashmap();
for(字符串键:句子.split(“”){
如果(score.get(key)=null)score.put(key,0);
得分。放(键,得分。得到(键)+1);
}
//打印密钥的分数时,可以将密钥为=的情况添加到“a、the和…”
for(字符串键:score.keySet()){
System.out.println(“Key=“+Key+”分数:“+Score.get(Key));
}
}
在for循环中,您可以执行以下操作:

for (int i = 0; i < sentenceList.size(); i++) {
   score(sentenceList.get(i));
}
for(int i=0;i
在for循环中,当从句子列表中获取句子时,可以调用函数score(sentenceList.get(i));现在打印出来了。然而,它不能确定这个词是否被重复。如果单词被重复,则在两种不同的情况下,该单词的得分为1。但是,如果单词重复两次,我希望它显示分数2。我在上面的代码中编辑了我的for循环。请检查我在这里做错了什么,它似乎永远在继续。当它读完它时,它会循环回到顶部,然后再做一次