統計字符串中單詞的個數


一,問題描述:

給定一個字符串,統計該字符串中有多少個單詞。單詞以空格、回車、TAB鍵 分隔。

比如: "    I come   from \n china"   有4個單詞。

注意,字符串不一定以字母開頭,也可以從空格開頭。

 

二,實現思路:

使用一個 boolean isWhiteSpace用來標記當前字符所處的模式:比如,當前字符不是26個字母表中的字母時,說明 處在 ”空格模式“,即它是一個分隔符,而不是單詞。

只有當從空格模式轉化成 ”單詞模式 “時,計數增1。

 

三,代碼如下:

 1 public class WordCount {
 2     
 3     
 4     public static void main(String[] args) {
 5         String s = "  i    come from     china  ";
 6         int r = wordCount(s);
 7         System.out.println(r);
 8     }
 9     
10     //返回str中代表的單詞個數
11     public static int wordCount(String str){
12         int count = 0;
13         boolean isWhiteSpace = true;//標記當前是否處在"空格"模式
14         for(int i = 0; i < str.length(); i++)
15         {
16             char c = str.charAt(i);
17             if(c == ' ' || c == '\t' || c == '\n')//如果碰到的是分隔符,else語句不會執行
18                 isWhiteSpace = true;
19             else if(isWhiteSpace)//當碰到非分隔符,剛好且 處在 "空格"模式時,單詞計數加1
20             {
21                 count++;
22                 isWhiteSpace = false;
23             }
24         }
25         return count;
26     }
27 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM