Java Beginner - Liczenie słów w zdaniu

Przypuszczam, że użyję metod w celu policzenia liczby słów w zdaniu. Napisałem ten kod i nie jestem pewien, dlaczego to nie działa. Bez względu na to, co piszę, otrzymuję tylko 1 słowo. Gdybyś mógł mi powiedzieć, jak naprawić to, co napisałem, zamiast dać mi zupełnie inny pomysł, który byłby świetny:

import java.util.Scanner;

public class P5_7 
{
    public static int countWords(String str)
    {
        int count = 1;
        for (int i=0;i<=str.length()-1;i++)
        {
            if (str.charAt(i) == ' ' && str.charAt(i+1)!=' ')
            {
                count++;
            }
        }
        return count;
    }
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        System.out.print("Enter a sentence: ");
        String sentence = in.next();
        System.out.print("Your sentence has " + countWords(sentence) + " words.");
    }
}

questionAnswers(17)

yourAnswerToTheQuestion