В этой программе вы научитесь считать количество гласных, согласных, цифр и пробелов в данном предложении на Kotlin.
Пример 1: Программа для подсчета гласных, согласных, цифр и пробелов
fun main(args: Array) ( 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") )
Когда вы запустите программу, вывод будет:
Гласных: 6 Согласных: 11 Цифр: 3 Пробелы: 3
В приведенном выше примере у нас 4 условия для каждой проверки.
- Первое условие if - проверить, является ли символ гласным .
- Следующее за if условие else if проверяет, является ли символ согласным или нет. В противном случае порядок должен быть таким же, все гласные также рассматриваются как согласные.
- Третье условие (else-if) - проверить, находится ли символ от 0 до 9 или нет.
- Наконец, последнее условие - проверить, является ли символ пробелом .
Для этого мы уменьшили регистр, используя toLowerCase()
. Это оптимизация, чтобы не проверять наличие заглавных букв от A до Z и гласных.
Мы использовали length()
функцию, чтобы узнать длину строки и charAt()
получить символ по заданному индексу (позиции).
Вот эквивалентный Java-код: Java-программа для подсчета количества гласных и согласных в предложении.
Пример 2: Программа для подсчета гласных, согласных, цифр и пробелов с использованием когда
fun main(args: Array) ( 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") )
Вывод программы такой же, как в Примере 1.
Здесь вы можете видеть, что мы использовали простое when
выражение для удаления if-else
оператора. Это делает код намного меньше и легче для понимания.