2013-10-24 43 views
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(); 
     } 


    } 
+5

问题是..? –

+0

当计算一行中的字数时,你认为是什么分隔符?即,是否用空格,制表符,逗号和/或其他字符分隔的单词? –

回答

0

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

0

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

0

每当你阅读文本文件的新生产线,它传递给即将在该行来算的话的方法..

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

你可能想看看后已回答要求做同样的事情。Count words in a string method?