Menu
Coddy logo textTech

Iterar sobre cadenas P1

Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 76 de 93.

Al igual que las listas, las cadenas se pueden recorrer carácter por carácter usando un bucle for. En Kotlin, una cadena es esencialmente una secuencia de caracteres, por lo que se aplica el mismo patrón de recorrido.

val word = "Hello"
for (char in word) {
    println(char)
}
// Salida:
// H
// e
// l
// l
// o

Cada iteración te proporciona un único Char de la cadena. Esto resulta útil cuando necesitas examinar o procesar cada carácter individualmente, como contar letras específicas o crear una cadena nueva según determinadas condiciones.

val text = "Kotlin"
var count = 0
for (char in text) {
    if (char == 'o' || char == 'i') {
        count++
    }
}
println(count)  // 2

También puedes usar withIndex() en cadenas para obtener tanto la posición como el carácter, igual que con las listas:

val name = "Ada"
for ((index, char) in name.withIndex()) {
    println("$index: $char")
}
// Salida:
// 0: A
// 1: d
// 2: a
challenge icon

Desafío

Intermedio

Lee una cadena de la entrada y cuenta cuántas vocales (a, e, i, o, u) contiene. Considera tanto las vocales minúsculas como las mayúsculas.

Recorre cada carácter de la cadena y comprueba si es una vocal. Imprime el recuento total de vocales encontradas.

Formato de entrada:

  • Una única cadena

Formato de salida:

Imprime un único entero que represente el número de vocales de la cadena.

Pista: Puedes convertir cada carácter a minúscula usando lowercaseChar() antes de comprobarlo, o comprobar ambos casos por separado.

Pruébalo tú mismo

fun main() {
    // Leer la entrada
    val text = readLine()!!
    
    // TODO: Escribe tu código debajo para contar las vocales en la cadena
    
    
    // Mostrar el resultado
    println(count)
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Kotlin