Tässä ohjelmassa opit laskemaan vokaalien, konsonanttien, numeroiden ja välilyöntien määrän tietyssä lauseessa Kotlinissa.
Esimerkki 1: Ohjelma laskemaan vokaalit, konsonantit, numerot ja välilyönnit
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") )
Kun suoritat ohjelmaa, tulos on:
Vokaalit: 6 konsonanttia: 11 numeroa: 3 välilyönnit: 3
Yllä olevassa esimerkissä kullekin tarkastukselle on 4 ehtoa.
- Ensimmäisenä, jos ehtona on tarkistaa, onko merkki vokaali vai ei.
- Jos seuraava ehtoa seuraava edellytys on tarkistaa, onko merkki konsonantti vai ei. Järjestyksen tulisi olla muuten sama, kaikkia vokaaleja käsitellään myös konsonanteina.
- Kolmas ehto (muu-jos) on tarkistaa, onko merkki välillä 0–9 .
- Viimeisenä edellytyksenä on tarkistaa, onko merkki välilyönti vai ei.
Tätä varten olemme pienentäneet linjaa käyttämällä toLowerCase()
. Tämä on optimointi, jota ei suoriteta isojen kirjainten A - Z ja vokaalien tarkistamiseksi.
Olemme käyttäneet length()
funktiota tietämään merkkijonon pituuden ja charAt()
saamaan merkin annettuun hakemistoon (sijaintiin).
Tässä on vastaava Java-koodi: Java-ohjelma laskemaan vokaalien ja konsonanttien määrän lauseessa.
Esimerkki 2: Ohjelma laskemaan vokaalit, konsonantit, numerot ja välilyönnit milloin
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") )
Ohjelman tulos on sama kuin esimerkissä 1.
Täällä voit nähdä, että olemme käyttäneet yksinkertaista when
lauseketta lauseen poistamiseen if-else
. Tämä tekee koodista paljon vähemmän ja helpommin ymmärrettävää.