SentenceLengthCalculator.java

package com.kapil.verbametrics.services.calculators;

import org.springframework.stereotype.Component;

/**
 * Calculator for sentence length analysis.
 * Handles the logic for calculating average sentence length.
 *
 * @author Kapil Garg
 */
@Component
public class SentenceLengthCalculator {

    /**
     * Calculates the average sentence length in words.
     *
     * @param text the text to analyze
     * @return the average sentence length
     */
    public double calculateAverageSentenceLength(String text) {
        String[] sentences = text.split("[.!?]+");
        if (sentences.length == 0) return 0.0;
        int totalWords = 0;
        for (String sentence : sentences) {
            if (!sentence.trim().isEmpty()) {
                totalWords += sentence.trim().split("\\s+").length;
            }
        }
        return (double) totalWords / sentences.length;
    }

}