Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HashMap Java的搜索键和增量值_Java_Hashmap - Fatal编程技术网

HashMap Java的搜索键和增量值

HashMap Java的搜索键和增量值,java,hashmap,Java,Hashmap,在我的方法中,我的目标是将字符串中的单词存储到HashMap中。它们的关键字将是一个单词,结果将是该单词出现的次数 到目前为止,我已经尝试了搜索部分,但是,对于我将其保留为只打印yes的部分,因为我也不知道如何执行该操作 到目前为止,我只是希望程序打印“是”的次数有一个重复,然而,我得到了我的if语句的一个例外 public void countWord(){ String tokens[] = userInput.trim().replaceAll("\\s+", " ").spli

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

到目前为止,我已经尝试了搜索部分,但是,对于我将其保留为只打印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);
        }
    }
}
public void countWord(){
字符串标记[]=userInput.trim().replaceAll(\\s+,“”)。拆分(“”);
for(int i=0;i

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

您需要在映射中检查当前令牌的计数器,如果它不存在,请创建一个值为0的计数器,然后递增计数器并将其放回映射中

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);
    }
}

错误或异常究竟是什么(编辑问题以将其显示为格式正确的文本)?java.lang.NullPointerException
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);
    }
}