Kotlin-ohjelma vokaalien ja konsonanttien määrän laskemiseksi lauseessa

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 whenlauseketta lauseen poistamiseen if-else. Tämä tekee koodista paljon vähemmän ja helpommin ymmärrettävää.

Mielenkiintoisia artikkeleita...