Kotlin-program for å telle antall vokaler og konsonanter i en setning

I dette programmet lærer du å telle antall vokaler, konsonanter, sifre og mellomrom i en gitt setning i Kotlin.

Eksempel 1: Program for å telle vokaler, konsonanter, sifre og mellomrom

 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 kjører programmet, vil utdataene være:

 Vokaler: 6 konsonanter: 11 sifre: 3 hvite mellomrom: 3

I eksemplet ovenfor har vi fire betingelser for hver av sjekkene.

  • Den første hvis betingelsen er å sjekke om karakteren er en vokal eller ikke.
  • Den andre hvis betingelsen som følger, er å sjekke om karakteren er en konsonant eller ikke. Bestillingen skal være den samme ellers, alle vokaler behandles også som konsonanter.
  • Den tredje betingelsen (else-if) er å sjekke om tegnet er mellom 0 og 9 eller ikke.
  • Til slutt er den siste forutsetningen å sjekke om karakteren er et mellomrom eller ikke.

For dette har vi senket linjen ved hjelp av toLowerCase(). Dette er en optimalisering som gjøres for ikke å se etter store bokstaver A til Å og vokaler.

Vi har brukt length()funksjon for å kjenne lengden på strengen og for charAt()å få tegnet ved den gitte indeksen (posisjon).

Her er ekvivalent Java-kode: Java-program for å telle antall vokaler og konsonanter i en setning.

Eksempel 2: Program for å telle vokaler, konsonanter, sifre og mellomrom ved bruk av 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 utgang er den samme som eksempel 1.

Her kan du se at vi har brukt et enkelt whenuttrykk for å fjerne if-elseutsagnet. Dette gjør koden mye mindre og lettere å forstå også.

Interessante artikler...