Kotlin-programmet för att räkna antalet vokaler och konsonanter i en mening

I det här programmet lär du dig att räkna antalet vokaler, konsonanter, siffror och mellanslag i en given mening i Kotlin.

Exempel 1: Program för att räkna vokaler, konsonanter, siffror och mellanslag

 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ör programmet blir resultatet:

 Vokaler: 6 konsonanter: 11 siffror: 3 vita mellanslag: 3

I exemplet ovan har vi fyra villkor för var och en av kontrollerna.

  • Det första om villkoret är att kontrollera om karaktären är en vokal eller inte.
  • Det andra if-villkoret som följer om är att kontrollera om karaktären är en konsonant eller inte. Beställningen bör vara densamma annars behandlas alla vokaler också som konsonanter.
  • Det tredje villkoret (annars-om) är att kontrollera om tecknet är mellan 0 och 9 eller inte.
  • Slutligen är det sista villkoret att kontrollera om karaktären är ett mellanslagstecken eller inte.

För detta har vi sänkt raden med toLowerCase(). Detta är en optimering som görs för att inte kontrollera om det finns stora bokstäver A till Ö och vokaler.

Vi har använt length()funktionen för att veta längden på strängen och för charAt()att få karaktären vid det angivna indexet (position).

Här är motsvarande Java-kod: Java-program för att räkna antalet vokaler och konsonanter i en mening.

Exempel 2: Program för att räkna vokaler, konsonanter, siffror och mellanslag med 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 resultat är samma som i exempel 1.

Här kan du se att vi har använt ett enkelt whenuttryck för att ta bort if-elseuttalandet. Detta gör koden mycket mindre och lättare att förstå också.

Intressanta artiklar...