Programa de Kotlin para contar el número de vocales y consonantes en una oración

En este programa, aprenderá a contar el número de vocales, consonantes, dígitos y espacios en una oración dada en Kotlin.

Ejemplo 1: Programa para contar vocales, consonantes, dígitos y espacios

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

Cuando ejecute el programa, la salida será:

 Vocales: 6 consonantes: 11 dígitos: 3 espacios en blanco: 3

En el ejemplo anterior, tenemos 4 condiciones para cada uno de los controles.

  • La primera condición if es comprobar si el carácter es vocal o no.
  • La condición else if que sigue a if es para comprobar si el carácter es una consonante o no. De lo contrario, el orden debe ser el mismo, todas las vocales también se tratan como consonantes.
  • La tercera condición (else-if) es verificar si el carácter está entre 0 y 9 o no.
  • Finalmente, la última condición es comprobar si el carácter es un espacio o no.

Para esto, hemos puesto en minúsculas la línea usando toLowerCase(). Esta es una optimización realizada para no verificar las letras mayúsculas de la A a la Z ni las vocales.

Hemos utilizado la length()función para conocer la longitud de la cadena y charAt()obtener el carácter en el índice (posición) dado.

Aquí está el código Java equivalente: programa Java para contar el número de vocales y consonantes en una oración.

Ejemplo 2: Programa para contar vocales, consonantes, dígitos y espacios usando when

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

La salida del programa es la misma que en el Ejemplo 1.

Aquí, puede ver que usamos una whenexpresión simple para eliminar la if-elsedeclaración. Esto también hace que el código sea mucho menos comprensible y más fácil de entender.

Articulos interesantes...