Program Kotlin na spočítanie počtu samohlások a spoluhlások na vetu

V tomto programe sa naučíte počítať v Kotline počet samohlások, spoluhlások, číslic a medzier v danej vete.

Príklad 1: Program na počítanie samohlások, spoluhlások, číslic a medzier

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

Po spustení programu bude výstup:

 Samohlásky: 6 spoluhlások: 11 číslic: 3 Medzery: 3

Vo vyššie uvedenom príklade máme 4 podmienky pre každú z kontrol.

  • Prvou podmienkou if je skontrolovať, či je znak samohláska alebo nie.
  • Podmienkou else if, ktorá nasleduje, je skontrolovať, či je znak spoluhláska alebo nie. Poradie by malo byť inak rovnaké, všetky samohlásky sa tiež považujú za spoluhlásky.
  • Tretia podmienka (else-if) je skontrolovať, či je znak medzi 0 a 9 alebo nie.
  • Nakoniec je poslednou podmienkou kontrola, či je znak medzerou alebo nie.

Z tohto dôvodu sme riadok zmenšili pomocou toLowerCase(). Toto je optimalizácia, ktorá sa nemá skontrolovať na veľké písmená A až Z a samohlásky.

Použili sme length()funkciu na zistenie dĺžky reťazca a charAt()získanie znaku na danom indexe (pozícii).

Tu je ekvivalentný kód Java: Program Java na počítanie počtu samohlások a spoluhlások vo vete.

Príklad 2: Program na počítanie samohlások, spoluhlások, číslic a medzier pomocou príkazu when

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

Výstup programu je rovnaký ako v príklade 1.

Tu vidíte, že whenna odstránenie if-elsepríkazu sme použili jednoduchý výraz . Vďaka tomu je kód oveľa menej a tiež ľahšie pochopiteľný.

Zaujímavé články...