Kotlin-program til at tælle antallet af vokaler og konsonanter i en sætning

I dette program lærer du at tælle antallet af vokaler, konsonanter, cifre og mellemrum i en given sætning i Kotlin.

Eksempel 1: Program til at tælle vokaler, konsonanter, cifre og mellemrum

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

Når du kører programmet, vil output være:

 Vokaler: 6 konsonanter: 11 cifre: 3 hvide mellemrum: 3

I ovenstående eksempel har vi 4 betingelser for hver kontrol.

  • Den første hvis betingelse er at kontrollere, om karakteren er en vokal eller ej.
  • Den anden hvis betingelse, der følger efter, er at kontrollere, om karakteren er en konsonant eller ej. Ordren skal ellers være den samme, alle vokaler behandles også som konsonanter.
  • Den tredje betingelse (ellers-hvis) er at kontrollere, om tegnet er mellem 0 og 9 eller ej.
  • Endelig er den sidste betingelse at kontrollere, om tegnet er et mellemrumstegn eller ej.

Til dette har vi sænket linjen ved hjælp af toLowerCase(). Dette er en optimering udført for ikke at kontrollere, om der er tale om store bogstaver A til Z og vokaler.

Vi har brugt length()funktionen til at kende længden af ​​strengen og charAt()få tegnet ved det givne indeks (position).

Her er den ækvivalente Java-kode: Java-program til at tælle antallet af vokaler og konsonanter i en sætning.

Eksempel 2: Program til at tælle vokaler, konsonanter, cifre og mellemrum ved hjælp af når

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

Programmets output er den samme som i eksempel 1.

Her kan du se, at vi har brugt et simpelt whenudtryk til at fjerne if-elseudsagnet. Dette gør koden også meget mindre og lettere at forstå.

Interessante artikler...