如何计算字符串方法中的单词?

时间:2013-10-24 23:02:04

标签: java string methods constructor

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

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


  }

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

你可能想看一下已经回答过要求做同样事情的帖子。Count words in a string method?