📜  计算字符串中的单词数java(1)

📅  最后修改于: 2023-12-03 15:41:38.645000             🧑  作者: Mango

计算字符串中的单词数Java

当我们需要统计一个字符串中单词的数量时,可以使用Java编写一个方法来实现。

实现思路
  1. 将字符串按照空格划分成字符串数组
  2. 遍历字符串数组,判断每个字符串是否是一个单词,如果是单词,累加器加一
  3. 最终返回累加器的值
代码实现
public static int countWords(String s) {
    String[] words = s.split("\\s+");
    int count = 0;
    for (String word : words) {
        if (word.matches("[a-zA-Z]+")) {
            count++;
        }
    }
    return count;
}

在上面的代码中,我们使用了String的split()方法按照空格分割字符串,并声明累加器count为0。然后我们遍历分割后的字符串数组,对于每个字符串,使用正则表达式判断它是否是一个单词。如果是一个单词,累加器count加一。最终返回累加器count的值。

测试用例

我们编写几个测试用例来检验我们的countWords()方法是否正确。

@Test
public void testCountWords() {
    String s1 = "Hello world";
    int expected1 = 2;
    assertEquals(expected1, countWords(s1));
    
    String s2 = "Only 5 words should be counted";
    int expected2 = 5;
    assertEquals(expected2, countWords(s2));
    
    String s3 = "  leading  and  trailing  spaces ";
    int expected3 = 4;
    assertEquals(expected3, countWords(s3));
    
    String s4 = "15wordsdonotmakeasentence";
    int expected4 = 0;
    assertEquals(expected4, countWords(s4));
}

我们可以看到,我们的countWords()方法通过了所有的测试用例。