Kotlin program a magánhangzók és mássalhangzók számának számlálására egy mondatban

Ebben a programban megtanulhatja megszámolni a magánhangzók, mássalhangzók, számjegyek és szóközök számát egy adott Kotlin-mondatban.

1. példa: Program magánhangzók, mássalhangzók, számjegyek és szóközök számlálására

 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") )

A program futtatásakor a kimenet a következő lesz:

 Magánhangzók: 6 mássalhangzó: 11 számjegy: 3 szóköz: 3

A fenti példában négy feltételünk van az egyes ellenőrzésekre.

  • Az első, ha feltétel, annak ellenőrzése, hogy a karakter magánhangzó-e vagy sem.
  • Az if követő másik feltétel annak ellenőrzésére szolgál, hogy a karakter mássalhangzó-e vagy sem. A sorrendnek egyébként meg kell egyeznie, minden magánhangzót mássalhangzóként is kezelnek.
  • A harmadik feltétel (else-if) annak ellenőrzése, hogy a karakter 0 és 9 között van-e vagy sem.
  • Végül az utolsó feltétel annak ellenőrzése, hogy a karakter szóköz-e vagy sem.

Ehhez a sort használtuk toLowerCase(). Ez egy optimalizálás, amelyet nem végeztek a nagybetűs A – Z és a magánhangzók ellenőrzésére.

A length()függvény segítségével megismertük a karakterlánc hosszát, és charAt()megszerezhettük a karaktert az adott indexhez (pozícióhoz).

Itt található az ekvivalens Java kód: Java program a magánhangzók és mássalhangzók számának egy mondatban történő számolásához.

2. példa: Program a magánhangzók, mássalhangzók, számjegyek és szóközök számlálásához a mikor használatával

 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") )

A program kimenete megegyezik az 1. példával.

Itt láthatja, hogy egy egyszerű whenkifejezést használtunk az if-elseutasítás eltávolításához . Ezáltal a kód sokkal kevésbé és könnyebben érthető.

érdekes cikkek...