我认为标题是自我解释的。我正在尝试打印文本文件每行中有多少个单词,以下是我到目前为止的内容:
package filereader;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class WordNumberer
{
public static void main(String[] args) throws FileNotFoundException
{
File file = new File("story.txt");
Scanner scanner = new Scanner(file);
int wordCount = 0;
while (scanner.hasNextLine())
{
while (scanner.hasNext())
{
wordCount += 1;
System.out.println(wordCount);
}
}
scanner.close();
}
}
答案 0 :(得分:1)
你应该在第二次循环之外打印结果,你需要在开始计算下一行之前重置计数。
while (scanner.hasNextLine()){
while (scanner.hasNext()){
wordCount += 1;
}
System.out.println(wordCount);
wordCount = 0;
}
答案 1 :(得分:0)
while (scanner.hasNext())
是一个无限循环,如果您不使用该行,则while (scanner.hasNextLine())
会遇到同样的问题。
除此之外,正如其他人已经指出pout一样,你应该只在行尾打印计数,然后将计数器重置为0.
while (scanner.hasNextLine())
{
while (scanner.hasNext())
{
wordCount += 1;
scanner.next();// consume token
}
System.out.println(wordCount);// print count for the current line
wordCount = 0; // reset counter
scanner.nextLine();//consume line
}