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 when
espressione per rimuovere l' if-else
istruzione. Questo rende il codice molto meno e anche più facile da capire.