Kotlinov program za brojanje broja samoglasnika i suglasnika u rečenici

U ovom ćete programu naučiti računati broj samoglasnika, suglasnika, znamenki i razmaka u određenoj rečenici u jeziku Kotlin.

Primjer 1: Program za brojanje samoglasnika, suglasnika, znamenki i razmaka

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

Kada pokrenete program, izlaz će biti:

 Samoglasnici: 6 Suglasnici: 11 Znamenke: 3 Razmaci: 3

U gornjem primjeru imamo 4 uvjeta za svaku provjeru.

  • Prvi je uvjet if provjeriti je li lik samoglasnik ili ne.
  • U slučaju else if koji slijedi ako treba provjeriti je li znak suglasnik ili ne. Redoslijed bi trebao biti isti, inače bi se i svi samoglasnici tretirali kao suglasnici.
  • Treći uvjet (inače-ako) je provjeriti je li znak između 0 i 9 ili nije.
  • Konačno, posljednji uvjet je provjeriti je li znak razmak ili ne.

Za ovo smo malim slovom postavili liniju pomoću toLowerCase(). Ovo je optimizacija koja se ne vrši radi provjere velikih i malih slova od A do Z i samoglasnika.

Koristili smo length()funkciju kako bismo znali duljinu niza i charAt()kako bismo dobili znak na zadanom indeksu (položaju).

Evo ekvivalentnog Java koda: Java program za brojanje broja samoglasnika i suglasnika u rečenici.

Primjer 2: Program za brojanje samoglasnika, suglasnika, znamenki i razmaka pomoću kada

 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 jednak je primjeru 1.

Ovdje možete vidjeti da smo koristili jednostavan whenizraz za uklanjanje if-elseizjave. To kôd čini puno manjim i lakšim za razumijevanje.

Zanimljivi članci...