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
// oCada 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) // 2Tambié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: aDesafío
IntermedioLee 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)
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloAsignación aumentadaOperadores de comparaciónRepaso: matemáticas simples7Entrada y salida básicas
Función PrintlnPlantillas de cadenasEntrada con ReadLineConversión de tiposRepaso - Años hasta la jubilaciónRepaso - Verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoArgumentos con nombreValores predeterminadosFunciones de una sola expresiónRepaso - Función SigmaRepaso - Función de validación13Iterar sobre secuencias
Iterar sobre elementosMétodo WithIndexIterar sobre cadenas P1Iterar sobre cadenas P2Repaso: letras indexadas2Variables
Val frente a VarInferencia de tiposNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Ternario con expresión ifRepaso: lógica simple8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Nullabilidad
Qué es la seguridad frente a valores nulosTipos anulablesOperador de llamada seguraOperador ElvisConceptos básicos de retos de funcionesAfirmación de no nulidadRepaso: acceso seguro6Toma de decisiones
Sentencia ifIf - ElseIf como expresiónExpresión whenWhen con rangosRepaso - Calculadora simple9Bucles
Bucle ForBucle WhileBucle Do-WhileBreakContinueRangos en buclesBucle anidadoRepaso - FactorialRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Kotlin