Подсчет слов в Java: методы подсчета слов в предложении

Вот несколько способов реализации программы подсчета слов на Java:

Метод 1: использование StringTokenizer

import java.util.StringTokenizer;
public class WordCount {
    public static void main(String[] args) {
        String sentence = "This is a sample sentence.";
        int count = 0;

        StringTokenizer tokenizer = new StringTokenizer(sentence);
        count = tokenizer.countTokens();

        System.out.println("Word count: " + count);
    }
}

Метод 2: использование метода Split()

public class WordCount {
    public static void main(String[] args) {
        String sentence = "This is a sample sentence.";
        int count = 0;

        String[] words = sentence.split("\\s+");
        count = words.length;

        System.out.println("Word count: " + count);
    }
}

Метод 3. Использование регулярных выражений

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class WordCount {
    public static void main(String[] args) {
        String sentence = "This is a sample sentence.";
        int count = 0;

        Pattern pattern = Pattern.compile("\\b\\w+\\b");
        Matcher matcher = pattern.matcher(sentence);

        while (matcher.find()) {
            count++;
        }

        System.out.println("Word count: " + count);
    }
}

Метод 4: использование BufferedReader и StringTokenizer

import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.StringTokenizer;
public class WordCount {
    public static void main(String[] args) {
        String sentence = "This is a sample sentence.";
        int count = 0;

        BufferedReader reader = new BufferedReader(new StringReader(sentence));
        String line;

        try {
            while ((line = reader.readLine()) != null) {
                StringTokenizer tokenizer = new StringTokenizer(line);
                count += tokenizer.countTokens();
            }

            System.out.println("Word count: " + count);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}