这是代码:

        Scanner scan = new Scanner(new FileReader ("C:\\mytext.txt"));
        HashMap<String, Integer> listOfWords = new HashMap<String, Integer>();

        while(scan.hasNextLine())
        {
            Scanner innerScan = new Scanner(scan.nextLine());
            boolean wordExistence ;
            while(wordExistence = innerScan.hasNext())
            {
                String word = innerScan.next();
                int countWord = 0;
                if(!listOfWords.containsKey(word)){ already
                    listOfWords.put(word, 1);
                }else{
                    countWord = listOfWords.get(word) + 1;
                    listOfWords.remove(word);
                    listOfWords.put(word, countWord);
                }
            }
        }

        System.out.println(listOfWords.toString());


问题是,我的输出包含像这样的词:

document.Because=1
document.This=1
space.=1

我该如何处理正在发生的句号?(对于其他问题,我认为任何句子终止符都会成为问题,例如问号或感叹号)。

最佳答案

查看Scanner API的类说明,尤其是有关使用除空格之外的定界符的段落。

关于java - 使用扫描仪将单词的出现次数及其计数存储在文件中。(Java),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9706983/

10-13 06:15