Programa Kotlin para contar o número de vogais e consoantes em uma frase

Neste programa, você aprenderá a contar o número de vogais, consoantes, dígitos e espaços em uma determinada frase em Kotlin.

Exemplo 1: programa para contar vogais, consoantes, dígitos e espaços

 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 você executa o programa, a saída será:

 Vogais: 6 consoantes: 11 dígitos: 3 espaços em branco: 3

No exemplo acima, temos 4 condições para cada uma das verificações.

  • A primeira condição if é verificar se o caractere é vogal ou não.
  • A condição else if após if é verificar se o caractere é uma consoante ou não. A ordem deve ser a mesma, caso contrário, todas as vogais são tratadas como consoantes também.
  • A terceira condição (else-if) é verificar se o caractere está entre 0 e 9 ou não.
  • Finalmente, a última condição é verificar se o caractere é um caractere de espaço ou não.

Para isso, colocamos a linha em minúsculas usando toLowerCase(). Esta é uma otimização feita para não verificar A a Z maiúsculas e vogais.

Usamos a length()função para saber o comprimento da string e charAt()para obter o caractere no índice (posição) fornecido.

Aqui está o código Java equivalente: programa Java para contar o número de vogais e consoantes em uma frase.

Exemplo 2: Programa para contar vogais, consoantes, dígitos e espaços 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") )

A saída do programa é a mesma do Exemplo 1.

Aqui, você pode ver que usamos uma whenexpressão simples para remover a if-elseinstrução. Isso torna o código muito menos e mais fácil de entender.

Artigos interessantes...