Java程序计算字符串中的单词数

时间:2020-01-09 10:35:25  来源:igfitidea点击:

在这篇文章中,我们将看到Java程序对字符串中的单词数进行计数。我们可以将Java String类提供的split()方法与正则表达式" \ s +"配合使用,以匹配任意数量的空格。 split()方法返回一个数组,该数组包含与给定表达式匹配的该字符串的每个子字符串。该数组的长度将是字符串中单词的数量。

如果明确要求我们编写Java程序而不使用任何API方法,则可以使用逻辑检查字符串的每个字符是否为空格。如果该空格表示单词已结束,则可以增加计数。

计算String Java程序中的单词数

下面的Java程序显示了两种计算字符串中单词数的方法,如上所述。

public class CountWords {

  public static void main(String[] args) {
    CountWords.stringWordCount("This program is to count words");
    
    CountWords.wordCountUsingSplit("count words using   split  ");
  }
	
  public static void stringWordCount(String str){
    int count = 1;
    for(int i = 0; i < str.length() - 1; i++){
      // If the current char is space and next char is not a space
      // then increment count
      if((str.charAt(i) == ' ') && (str.charAt(i + 1) != ' ')){
        count++;
      }
    }
    System.out.println("Count of words in String - "  + count);
  }
	
  // This method uses split method to count words
  public static void wordCountUsingSplit(String str){
    // regex "\s+" matches any number of white spaces 
    String[] test = str.trim().split("\s+");
    System.out.println("Count of words in String - "  + test.length);
  }
}

输出:

Count of words in String - 6
Count of words in String – 4