В тази програма ще се научите да броите броя гласни, съгласни, цифри и интервали в дадено изречение в 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 е да проверите дали героят е гласна или не.
- Условието else if, следващо if, е да се провери дали знакът е съгласен или не. Редът трябва да бъде същият, в противен случай всички гласни също се третират като съгласни.
- Третото условие (else-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
изявлението. Това прави кода много по-малко и по-лесен за разбиране.