gpt4 book ai didi

java - Java HashMap 的搜索键和增量值

转载 作者:行者123 更新时间:2023-12-02 10:39:32 25 4
gpt4 key购买 nike

在我的方法中,我的目标是将字符串中的单词存储到 HashMap 中。它们的键将是一个单词,结果将是该单词出现的次数。

到目前为止,我已经尝试了搜索部分,但是,对于我增加的部分,我将其保留为仅打印 yes,因为我也没有弄清楚如何做到这一点。

到目前为止,我只是希望程序能够打印 yes 重复的次数,但是,我的 if 语句出现了异常。

public void countWord(){

String tokens[] = userInput.trim().replaceAll("\\s+", " ").split(" ");

for(int i = 0; i < tokens.length; ++i) {
if(bow.containsKey(tokens[i])) {
System.out.printf("yes\n");
}
else {
bow.put(tokens[i], 1);
}
}
}

我假设 bow.containsKey(tokens[i]))是不正确的语法,我想知道如何替换它。

最佳答案

您需要检查 map 中是否存在当前 token 的计数器,如果不存在,则创建一个值为 0 的计数器,然后递增计数器并将其放回 map 中

public void countWord(){

String tokens[] = userInput.trim().replaceAll("\\s+", " ").split(" ");

for(int i = 0; i < tokens.length; ++i) {
Integer counter = bow.get(tokens[i]);
if(counter == null) {
counter = 0;
}
bow.put(tokens[i], ++counter);
}
}

如果你想改进这个语法bow.containsKey(tokens[i]))您可以将标记[i]存储在变量中

public void countWord(){

String tokens[] = userInput.trim().replaceAll("\\s+", " ").split(" ");

for(int i = 0; i < tokens.length; ++i) {
String token = tokens[i];
Integer counter = bow.get(token);
if(counter == null) {
counter = 0;
}
bow.put(token, ++counter);
}
}

关于java - Java HashMap 的搜索键和增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53027242/

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