Program Kotlin pro počítání počtu samohlásek a souhlásek ve větě

V tomto programu se naučíte spočítat počet samohlásek, souhlásek, číslic a mezer v dané větě v Kotlin.

Příklad 1: Program pro počítání samohlásek, souhlásek, číslic a mezer

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

Když spustíte program, výstup bude:

 Samohlásky: 6 souhlásek: 11 číslic: 3 bílá místa: 3

Ve výše uvedeném příkladu máme 4 podmínky pro každou z kontrol.

  • První podmínkou if je zkontrolovat, zda je znak samohláska nebo ne.
  • Podmínkou else if je zkontrolovat, zda je znak souhláska či nikoli. Pořadí by mělo být stejné, jinak se se všemi samohláskami zachází jako se souhláskami.
  • Třetí podmínkou (else-if) je zkontrolovat, zda je znak mezi 0 a 9 nebo ne.
  • Konečně poslední podmínkou je zkontrolovat, zda je znak mezerou nebo ne.

Z tohoto důvodu jsme linku použili pomocí toLowerCase(). Jedná se o optimalizaci, která nekontroluje velká písmena A až Z a samohlásky.

Použili jsme length()funkci, abychom poznali délku řetězce a charAt()dostali znak na daném indexu (pozici).

Zde je ekvivalentní kód Java: Program Java pro počítání počtu samohlásek a souhlásek ve větě.

Příklad 2: Program pro počítání samohlásek, souhlásek, číslic a mezer pomocí 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 stejný jako v příkladu 1.

Zde vidíte, že jsme whenk odstranění if-elsepříkazu použili jednoduchý výraz . Díky tomu je kód mnohem méně srozumitelný.

Zajímavé články...