Программа Kotlin для подсчета количества гласных и согласных в предложении

В этой программе вы научитесь считать количество гласных, согласных, цифр и пробелов в данном предложении на 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оператора. Это делает код намного меньше и легче для понимания.

Интересные статьи...