Selles programmis õpite Kotlinis loendama antud lauses vokaale, konsonante, numbreid ja tühikuid.
Näide 1: Häälikute, kaashäälikute, numbrite ja tühikute loendamise programm
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") )
Programmi käivitamisel on väljund järgmine:
Vokaalid: 6 kaashäälikut: 11 numbrit: 3 tühikud: 3
Ülaltoodud näites on meil iga kontrolli jaoks 4 tingimust.
- Esimene tingimus on kontrollida, kas märk on vokaal või mitte.
- Kui järgmine tingimus on järgmine, tuleb kontrollida, kas märk on kaashäälik või mitte. Järjekord peaks olema sama, vastasel juhul käsitletakse kõiki vokaale kaashäälikutena.
- Kolmas tingimus (muu-kui) on kontrollida, kas märk on vahemikus 0 kuni 9 .
- Lõpuks on viimane tingimus kontrollida, kas märk on tühik või mitte.
Selleks oleme liini alamhinnaga kasutanud toLowerCase()
. See on optimeerimine, mida ei tehta suurtähtede A kuni Z ja täishäälikute kontrollimiseks.
Oleme length()
funktsiooni kasutanud stringi pikkuse teadmiseks ja charAt()
märgi saamiseks antud indeksis (positsioonis).
Siin on samaväärne Java-kood: Java-programm vokaalide ja kaashäälikute arvu loendamiseks.
Näide 2: Programm täishäälikute, kaashäälikute, numbrite ja tühikute lugemiseks, kasutades millal
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") )
Programmi väljund on sama, mis näites 1.
Siin näete, et oleme lause when
eemaldamiseks kasutanud lihtsat väljendit if-else
. See muudab koodi palju vähem ja seda on lihtsam mõista.