Програма Котліна для підрахунку кількості голосних та приголосних у реченні

У цій програмі ви навчитеся рахувати кількість голосних, приголосних, цифр і пробілів у даному реченні в Котліні.

Приклад 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 - перевірити, є персонаж голосним чи ні.
  • Умовою else if, що слідує за if, є перевірка, чи є символ приголосним чи ні. Порядок повинен бути однаковим, інакше всі голосні також розглядаються як приголосні.
  • Третя умова (інакше - якщо) - перевірити, чи є символ від 0 до 9 чи ні.
  • Нарешті, остання умова - перевірити, чи є символ символом пробілу чи ні.

Для цього ми використали нижній регістр рядка toLowerCase(). Це оптимізація, зроблена для того, щоб не перевіряти наявність великих літер від А до Я та голосних.

Ми використовували 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твердження. Це робить код набагато меншим і легшим для розуміння.

Цікаві статті...