Как посчитать точное количество слов в строке, которая имеет пробелы между словами?

Напишите метод с именем wordCount, который принимает строку в качестве параметра и возвращает количество слов в строке. Слово - это последовательность из одного или нескольких непробельных символов (любой символ, кроме ''). Например, вызов wordCount («привет») должен возвращать 1, вызов wordCount («как дела?») Должен возвращать 3, вызов wordCount («эта строка имеет большие пробелы») должен возвращать 5, а вызов wordCount ("") должен вернуть 0.

Я сделал функцию:

public static int wordCount(String s){

  int counter = 0;

  for(int i=0; i<=s.length()-1; i++) {

    if(Character.isLetter(s.charAt(i))){

      counter++;

      for(i<=s.length()-1; i++){

        if(s.charAt(i)==' '){

          counter++;
        }
      }                
    }
  }

  return counter;
}

Но я знаю, что у этого есть 1 ограничение, что он будет также подсчитывать количество пробелов после того, как все слова в строке закончили, и он также посчитает 2 пробела, как, возможно, 2 слова :( Есть предопределенная функция для подсчета слов? Или можно ли исправить этот код?

Ответы на вопрос(9)

Ваш ответ на вопрос