Example 1: Program to count vowels, consonants, digits and spaces
fun main(args: Array<String>) {
var line = "This website is aw3som3."
var vowels = 0
var consonants = 0
var digits = 0
var spaces = 0
line = line.toLowerCase()
for (i in 0..line.length - 1) {
val ch = line[i]
if (ch == 'a' || ch == 'e' || ch == 'i'
|| ch == 'o' || ch == 'u') {
++vowels
} else if (ch in 'a'..'z') {
++consonants
} else if (ch in '0'..'9') {
++digits
} else if (ch == ' ') {
++spaces
}
}
println("Vowels: $vowels")
println("Consonants: $consonants")
println("Digits: $digits")
println("White spaces: $spaces")
}
When you run the program, the output will be:
Vowels: 7 Consonants: 11 Digits: 2 White spaces: 3
In the above example, we've 4 conditions for each of the checks.
- The first condition checks whether the character is a vowel or not.
- The else if condition following if is to check whether the character is a consonant or not. The order should be the same otherwise, all vowels are treated as consonants as well.
- The 3rd condition (else-if) is to check whether the character is between 0 to 9 or not.
- Finally, the last condition is to check whether the character is a space character or not.
For this, we've lowercased the line using toLowerCase()
. This is an optimization done not to check for capitalized A to Z and vowels.
We've used length()
function to know the length of the string and charAt()
to get the character at the given index (position).
Here's the equivalent Java code: Java program to count number of vowels and consonants in a sentence.
Example 2: Program to count vowels, consonants, digits and spaces using when
fun main(args: Array<String>) {
var line = "This website is aw3som3."
var vowels = 0
var consonants = 0
var digits = 0
var spaces = 0
line = line.toLowerCase()
for (i in 0..line.length - 1) {
val ch = line[i]
when (ch) {
'a', 'e', 'i', 'o', 'u' -> ++vowels
in 'a'..'z' -> ++consonants
in '0'..'9' -> ++digits
' ' -> ++spaces
}
}
println("Vowels: $vowels")
println("Consonants: $consonants")
println("Digits: $digits")
println("White spaces: $spaces")
}
The output of the program is the same as Example 1.
Here, you can see we've used a simple when
expression to remove the if-else
statement. This makes the code a lot less and easier to understand as well.