Програма 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 е да проверите дали героят е гласна или не.
  • Условието 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изявлението. Това прави кода много по-малко и по-лесен за разбиране.

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