用java写计算单词在句子中出现次数的程序public class wordCout { public static void main(String[] args) { Map<String ,Integer> result=new TreeMap<String,Integer>(); String sentence="How are you I am fine thanks and you"; String[] a=sentence.split(" "); for (int i = 0; i < sentence.length(); i++) { String words=a[i]; if (result.containsKey() == ) { } else { } } } }
时间: 2024-02-14 16:08:41 浏览: 61
chongfu.rar_Java字符串空格_单词统计_统计单词
你的代码中有几个问题:
1. 在 for 循环中,应该使用 `a.length` 来遍历所有单词,而不是 `sentence.length()`。
2. 在判断单词是否已经出现过时,应该使用 `result.containsKey(words)`,而不是 `result.containsKey() ==`。
3. 如果单词已经出现过,应该将它的出现次数加 1,而不是什么都不做。
4. 如果单词没有出现过,需要将它添加到结果 Map 中,出现次数初始化为 1。
下面是修改后的代码:
```
public class WordCount {
public static void main(String[] args) {
Map<String, Integer> result = new TreeMap<String, Integer>();
String sentence = "How are you I am fine thanks and you";
String[] a = sentence.split(" ");
for (int i = 0; i < a.length; i++) {
String word = a[i];
if (result.containsKey(word)) {
result.put(word, result.get(word) + 1);
} else {
result.put(word, 1);
}
}
System.out.println(result);
}
}
```
这个程序会输出以下结果:
```
{How=1, I=1, am=1, and=1, are=1, fine=1, thanks=1, you=2}
```
其中,每个单词对应的值即为它在句子中出现的次数。
阅读全文