Kotlina programma patskaņu un līdzskaņu skaita skaitīšanai teikumā

Šajā programmā jūs iemācīsities saskaitīt patskaņu, līdzskaņu, ciparu un atstarpju skaitu noteiktā teikumā Kotlīnā.

1. piemērs: programma patskaņu, līdzskaņu, ciparu un atstarpju skaitīšanai

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

Palaidot programmu, izeja būs:

 Patskaņi: 6 līdzskaņi: 11 cipari: 3 atstarpes: 3

Iepriekš minētajā piemērā katrai pārbaudei ir 4 nosacījumi.

  • Pirmais nosacījums ir pārbaudīt, vai raksturs ir patskaņs .
  • Pārējais nosacījums, kas seko, ja, lai pārbaudītu, vai raksturs ir līdzskaņs vai nē. Kārtībai jābūt vienādai, pretējā gadījumā visi patskaņi tiek uzskatīti arī par līdzskaņiem.
  • Trešais nosacījums (else-if) ir pārbaudīt, vai rakstzīme ir no 0 līdz 9 .
  • Visbeidzot, pēdējais nosacījums ir pārbaudīt, vai raksturs ir atstarpes raksturs.

Šajā nolūkā mēs esam pazeminājuši līniju, izmantojot toLowerCase(). Šī ir optimizācija, kas veikta, lai nepārbaudītu lielos burtus no A līdz Z un patskaņus.

Mēs esam izmantojuši length()funkciju, lai uzzinātu virknes garumu un charAt()iegūtu rakstzīmi dotajā indeksā (pozīcijā).

Šeit ir ekvivalents Java kods: Java programma, lai teikumā saskaitītu patskaņus un līdzskaņus.

2. piemērs: Programma, lai saskaitītu patskaņus, līdzskaņus, ciparus un atstarpes, izmantojot kad

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

Programmas izvade ir tāda pati kā 1. piemērā.

Šeit jūs varat redzēt, ka mēs izmantojām vienkāršu whenizteicienu, lai noņemtu if-elsepaziņojumu. Tas padara kodu daudz mazāk un vieglāk saprotamu.

Interesanti raksti...