这个
while循环很奇怪:
while (scanner.hasNextLine()) { String line = scanner.nextLine(); while (line != null) { String word = scanner.next(); addWord(word, linecount); } linecount++;}
如果您的输入文件是:
ab
然后
scanner.nextLine()将是return
a,然后
scanner.next()将是return
b,因为
nextLine将返回下一个以行尾分隔的String,并
next返回输入文件中的下一个标记。这真的是您想要的吗?我建议尝试一下:
while (scanner.hasNextLine()) {{ String word = scanner.nextLine(); addWord(word, linecount); linecount++;}
请记住,这仅在每行只有一个单词的情况下有效。如果您想每行处理多个单词,则需要更长的时间:
while (scanner.hasNextLine()) {{ String line = scanner.nextLine(); Scanner lineScanner = new Scanner(line); while(lineScanner.hasNext()) { addWord(lineScanner.next(), linecount); } linecount++;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)