统计字符串中单词的个数

简介:

一,问题描述:

给定一个字符串,统计该字符串中有多少个单词。单词以空格、回车、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 }
复制代码

  

相关文章
|
3月前
|
算法 Java C++
统计单词数
统计单词数
36 0
|
3月前
leetcode-1220:统计元音字母序列的数目
leetcode-1220:统计元音字母序列的数目
30 0
LeetCode-1220 统计元音字母序列的数目
LeetCode-1220 统计元音字母序列的数目
|
10月前
|
Python
统计字符串中不同字符个数问题
统计字符串中不同字符个数问题
72 0
|
11月前
7-4 统计一行文本的单词个数
7-4 统计一行文本的单词个数
69 0
|
11月前
统计字符[2]
统计字符[2]
66 0
|
11月前
R7-2 统计字符[2]
R7-2 统计字符[2]
64 0
|
Serverless C++
C/C++编程题之字符个数统计
C/C++编程题之字符个数统计
|
缓存 C语言
练习12—统计特定字符个数
练习12—统计特定字符个数
|
缓存 分布式计算
六十四、Spark-分别统计各个单词个数及特殊字符总个数
六十四、Spark-分别统计各个单词个数及特殊字符总个数
六十四、Spark-分别统计各个单词个数及特殊字符总个数