Como contar palavras (não conte séries de caracteres especiais) usando o scanner, loop, array, instrução if e else

Como contar palavras (não conte séries de caracteres especiais) usando a instrução scanner, loop, array, if e else?

Ainda não terminou porque não sei como! Alguém pode ajudar-me?

import java.util.Scanner;

public class Main
{
  public static void main(String[] args)
  {
    System.out.println("Simple Java Word Count Program");

    String str1 = null;

    char ch;
    int sample = 0;
    int i;
    int j = 0;
    int k = 0;
    int wordCount = 1;
    Scanner in = new Scanner(System.in);
    System.out.println("Enter your quote:");
    str1 = in.nextLine();

    for (i = 0; i < str1.length(); i++)
    {
      if (str1.charAt(i) == ' ' && str1.charAt(i + 1) != ' ')
      {
        String[] arr = str1.split(" ");

        for (k = 0; k < ;)
        {
          for (j = 0; j < arr[i].length(); j++)
          {
            ch = arr[i].charAt(j);

            if (Character.isLetterOrDigit(ch))
            {
              wordCount++;
            }
          }
        }
      }
    }

    System.out.println("Word count is = " + wordCount);
  }
}

questionAnswers(4)

yourAnswerToTheQuestion