如何编写一个Java函数来统计字符串中单词的个数?
发布时间:2023-06-09 01:36:38
编写一个Java函数来统计字符串中单词的个数需要考虑以下几个方面:
1. 定义单词:单词是由字母或数字组成的字符串,以空格、标点符号或者换行等分隔符作为结束符。
2. 统计方法:从字符串的开头开始遍历,以空格、标点符号或者换行等分隔符为分割标志,判断是否为单词,如果是,计数器加一;如果不是,继续搜索下一个字符。
下面是一个基于以上思路的Java代码实现:
public static int countWords(String str) {
int count = 0;
boolean isWord = false;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isLetterOrDigit(c)) {
isWord = true;
} else {
if (isWord) {
count++;
isWord = false;
}
}
}
if (isWord) {
count++;
}
return count;
}
该函数接受一个字符串作为参数,返回该字符串中单词的个数。在函数中,我们定义了一个计数器count,用于统计单词的个数,同时定义了一个布尔变量isWord,用于判断当前字符是否为单词的开头。
在遍历字符串时,我们通过charAt方法逐个读取字符,使用Character.isLetterOrDigit方法判断当前字符是否为字母或数字。如果是,则将isWord置为true;如果不是,则判断之前是否已经存在单词,如果存在,则计数器加一,并将isWord置为false。
最后,如果isWord为true,则说明最后一个单词还没有计数,需要将计数器加一。最终返回计数器的值即可。
