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ű when
kifejezést használtunk az if-else
utasítás eltávolításához . Ezáltal a kód sokkal kevésbé és könnyebben érthető.