У овом програму научићете да рачунате број самогласника, сугласника, цифара и размака у датој реченици у језику Котлин.
Пример 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 услова за сваку проверу.
- Први иф услов је проверити да ли је лик самогласник или не.
- Услов елсе иф који следи ако треба проверити да ли је знак сугласник или не. Редослед би требао бити исти, иначе се сви самогласници третирају и као сугласници.
- Трећи услов (елсе-иф) је да се провери да ли је знак између 0 и 9 или не.
- Коначно, последњи услов је проверити да ли је знак размак или не.
За ово смо смањили линију користећи toLowerCase()
. Ово је оптимизација урађена да се не провере велика слова А до З и самогласници.
Користили смо length()
функцију да бисмо знали дужину низа и charAt()
да бисмо добили знак у датом индексу (положају).
Ево еквивалентног Јава кода: Јава програм за бројање броја самогласника и сугласника у реченици.
Пример 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
изјаве. То код чини много мањим и лакшим за разумевање.