0

我试图用扫描仪创建一个项目来读取文本文件,按行数分隔,并计算每行中的单词数。到目前为止,这是我的代码:

    public void getWordsPerLine(){

      try {
           File file = new File("report.txt");
            Scanner scanner = new Scanner(file);
            int count = 0;


            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                count++;


                if (count <= 9){
                System.out.println("");
                System.out.println("Line Number: " + count);
                System.out.println(line);
            }


            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }


  }
4

3 回答 3

0

假设一个单词是由空格分隔的一组字符,那么 inputString.split(" ") 将生成一个“单词”数组,然后您可以对其进行计数。您可能需要进行一些额外的检查,以确保不计算一行中产生空词的多个空格字符 - 或在 .split() 方法中使用正确的正则表达式。

于 2013-10-24T23:08:53.647 回答
0

您可以使用 String 类的 split() 方法在空白处拆分行并获取返回数组中的元素数(等于行中的单词数)。

于 2013-10-24T23:09:50.813 回答
0

每次读取文本文件的新行时,将其传递给将计算该行中单词的方法..

while (scanner.hasNextLine()) {
String line = scanner.nextLine();
countWords(line);
count++;

你可能想看看一个已经回答的帖子,要求做同样的事情。在字符串方法中计算单词?

于 2013-10-24T23:09:58.517 回答