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 when
uttryck för att ta bort if-else
uttalandet. Detta gör koden mycket mindre och lättare att förstå också.