Programma Kotlin per contare il numero di vocali e consonanti in una frase

In questo programma imparerai a contare il numero di vocali, consonanti, cifre e spazi in una data frase in Kotlin.

Esempio 1: programma per contare le vocali, le consonanti, le cifre e gli spazi

 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") )

Quando esegui il programma, l'output sarà:

 Vocali: 6 Consonanti: 11 Cifre: 3 Spazi bianchi: 3

Nell'esempio sopra, abbiamo 4 condizioni per ciascuno dei controlli.

  • La prima condizione if è controllare se il carattere è una vocale o meno.
  • La condizione else if che segue if è controllare se il carattere è una consonante o meno. L'ordine dovrebbe essere lo stesso altrimenti, anche tutte le vocali vengono trattate come consonanti.
  • La terza condizione (else-if) è controllare se il carattere è compreso tra 0 e 9 o meno.
  • Infine, l'ultima condizione è controllare se il carattere è uno spazio o meno.

Per questo, abbiamo messo in minuscolo la linea usando toLowerCase(). Questa è un'ottimizzazione fatta per non controllare le vocali dalla A alla Z maiuscola.

Abbiamo usato la length()funzione per conoscere la lunghezza della stringa e charAt()per ottenere il carattere all'indice (posizione) dato.

Ecco il codice Java equivalente: programma Java per contare il numero di vocali e consonanti in una frase.

Esempio 2: programma per contare le vocali, le consonanti, le cifre e gli spazi usando quando

 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") )

L'output del programma è lo stesso dell'esempio 1.

Qui puoi vedere che abbiamo usato una semplice whenespressione per rimuovere l' if-elseistruzione. Questo rende il codice molto meno e anche più facile da capire.

Articoli interessanti...