欢迎访问宙启技术站
智能推送

如何编写一个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,则说明最后一个单词还没有计数,需要将计数器加一。最终返回计数器的值即可。