Kotlin Program to Count the Number of Vowels and Consonants in a Sentence

Counting the number of vowels and consonants in a sentence is a common text processing task in programming. Kotlin offers several approaches to achieve this, each with its advantages. In this article, we’ll explore three Kotlin Program to Count the Number of Vowels and Consonants in a Sentence and showcase their outputs.

1. Using Iterative Approach

This example uses an iterative approach to count the number of vowels and consonants in a sentence. It loops through each character in the sentence, checks if it’s a vowel or consonant, and increments the respective counters.

Code

Kotlin
fun main() {
    val sentence = "Hello World"
    var vowels = 0
    var consonants = 0

    for (char in sentence.toLowerCase()) {
        if (char in 'a'..'z') {
            if (char == 'a' || char == 'e' || char == 'i' || char == 'o' || char == 'u') {
                vowels++
            } else {
                consonants++
            }
        }
    }

    println("Number of vowels: $vowels")
    println("Number of consonants: $consonants")
}

Output

Kotlin
Number of vowels: 3
Number of consonants: 7

2. Using Regular Expressions

In this example, we use regular expressions to count vowels and consonants. We define patterns for vowels and consonants and then match them against the sentence using Kotlin’s Regex class.

Code

Kotlin
fun main() {
    val sentence = "Hello World"
    val vowelsCount = Regex("[aeiouAEIOU]").findAll(sentence).count()
    val consonantsCount = Regex("[^aeiouAEIOU\\s]").findAll(sentence).count()

    println("Number of vowels: $vowelsCount")
    println("Number of consonants: $consonantsCount")
}

Output

Kotlin
Number of vowels: 3
Number of consonants: 7

3. Using Higher-Order Functions

This example demonstrates a functional programming approach using higher-order functions countVowels and countConsonants to count vowels and consonants respectively.

Code

Kotlin
fun main() {
    val sentence = "Hello World"

    fun countVowels(str: String): Int {
        return str.filter { it.toLowerCase() in "aeiou" }.length
    }

    fun countConsonants(str: String): Int {
        return str.filter { it.toLowerCase() in "bcdfghjklmnpqrstvwxyz" }.length
    }

    val vowelsCount = countVowels(sentence)
    val consonantsCount = countConsonants(sentence)

    println("Number of vowels: $vowelsCount")
    println("Number of consonants: $consonantsCount")
}

Output

Kotlin
Number of vowels: 3
Number of consonants: 7

4. Conclusion

Counting vowels and consonants in a sentence is essential for various text processing tasks. Kotlin offers multiple approaches to achieve this efficiently, including iterative methods, regular expressions, and functional programming techniques. Each example presented here provides a unique insight into Kotlin’s versatility in text processing and allows you to choose the most suitable approach based on your programming style and requirements. Understanding these solutions enhances your Kotlin programming skills and prepares you for handling text-based operations effectively in your applications.