Kotlinov program za štetje samoglasnikov in soglasnikov v stavku

V tem programu se boste v Kotlinu naučili šteti število samoglasnikov, soglasnikov, števk in presledkov v danem stavku.

Primer 1: Program za štetje samoglasnikov, soglasnikov, števk in presledkov

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

Ko zaženete program, bo rezultat:

 Samoglasniki: 6 Soglasniki: 11 Števke: 3 Praznine: 3

V zgornjem primeru imamo 4 pogoje za vsako preverjanje.

  • Prvi pogoj if je preveriti, ali je znak samoglasnik ali ne.
  • Pogoj else if, ki sledi, če je preveriti, ali je znak soglasnik ali ne. Vrstni red mora biti enak, sicer se vsi samoglasniki obravnavajo tudi kot soglasniki.
  • Tretji pogoj (sicer - če) je preveriti, ali je znak med 0 in 9 ali ne.
  • Končno je zadnji pogoj preveriti, ali je znak presledek ali ne.

Za to smo črko črtali z uporabo toLowerCase(). To je optimizacija, ki ni bila izvedena za preverjanje velikih ali malih samoglasnikov in samoglasnikov.

length()Funkcijo smo uporabili, da poznamo dolžino niza in charAt()dobimo znak na danem indeksu (položaju).

Tu je enakovredna koda Java: program Java za štetje števila samoglasnikov in soglasnikov v stavku.

Primer 2: Program za štetje samoglasnikov, soglasnikov, števk in presledkov z uporabo kdaj

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

Rezultat programa je enak kot v primeru 1.

Tu lahko vidite, da smo s preprostim whenizrazom odstranili if-elsestavek. Zaradi tega je koda veliko manj in tudi lažje razumljiva.

Zanimive Članki...