gpt4 book ai didi

java - 字符串中单词的出现次数(字数统计)

转载 作者:行者123 更新时间:2023-12-02 00:53:34 25 4
gpt4 key购买 nike

我一直在写字符串中出现的单词。我得到了一些提示(在任务注释中)可以使用compareToIgnoreCase。所以我尝试了这样的事情:

splitwords = StringCont.split("\\s");
for(int i=0; i<splitwords.length; i++)
{
if(splitwords[1].compareToIgnoreCase(splitwords[i]) == 0)
splitcount++;
}

这当然是我能做的,而且可能是坏方法。当我运行代码时,有时会出现数组异常,有时会运行。缺少的是:遍历所有单词并检查它们并跳过已经计算过的单词。我很乐意在这方面获得任何帮助,以便可以继续前进并了解如何编码。谢谢:)

编辑:看来我没有足够清楚地解释问题,但我得到了关于 map 对象的很好的答案,它可以轻松地将我需要的东西组合在一起。我不知道 map 。所以是的,我试图找出每个给定单词在字符串中出现的次数。

tangens:它应该意味着取第一个单词(第一个空格所在的位置)splitwords[1]并将其与字符串splitwords[i]中的所有其他单词进行比较,如果它是0(等于),则count++。

Esko:确实有像句子中那样的空格。但我仍然得到这个异常(exception)。我不知道为什么。

最佳答案

将单词及其计数存储在 Map 中.

String[] words = string.toLowerCase().split("\\s+");
Map<String, Integer> wordCounts = new HashMap<String, Integer>();

for (String word : words) {
Integer count = wordCounts.get(word);
if (count == null) {
count = 0;
}
wordCounts.put(word, count + 1);
}

请注意,我在 split() 之前调用了 toLowerCase(),因为您似乎希望不区分大小写。

关于java - 字符串中单词的出现次数(字数统计),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1936944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com