Iterando sobre strings P1
Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 76 de 93.
Assim como as listas, as strings podem ser percorridas caractere por caractere usando um loop for. Em Kotlin, uma string é essencialmente uma sequência de caracteres, portanto, o mesmo padrão de iteração se aplica.
val word = "Hello"
for (char in word) {
println(char)
}
// Saída:
// H
// e
// l
// l
// oCada iteração fornece um único Char da string. Isso é útil quando você precisa examinar ou processar cada caractere individualmente, como contar letras específicas ou criar uma nova string com base em determinadas condições.
val text = "Kotlin"
var count = 0
for (char in text) {
if (char == 'o' || char == 'i') {
count++
}
}
println(count) // 2Você também pode usar withIndex() em strings para obter tanto a posição quanto o caractere, assim como com listas:
val name = "Ada"
for ((index, char) in name.withIndex()) {
println("$index: $char")
}
// Saída:
// 0: A
// 1: d
// 2: aDesafio
MédioLeia uma string da entrada e conte quantas vogais (a, e, i, o, u) ela contém. Considere tanto as vogais minúsculas quanto as maiúsculas.
Percorra cada caractere da string e verifique se ele é uma vogal. Imprima a contagem total de vogais encontradas.
Formato da entrada:
- Uma única string
Formato da saída:
Imprima um único inteiro representando o número de vogais na string.
Dica: Você pode converter cada caractere para minúscula usando lowercaseChar() antes de verificar, ou verificar ambos os casos separadamente.
Experimente você mesmo
fun main() {
// Ler entrada
val text = readLine()!!
// TODO: Escreva seu código abaixo para contar as vogais na string
// Exibir o resultado
println(count)
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores – Parte 1
Operadores aritméticosOperador móduloAtribuição aumentadaOperadores de comparaçãoRecapitulação – Matemática simples7Entrada e Saída Básicas
Função PrintlnTemplates de StringEntrada com ReadLineConversão de TiposRevisão - Anos até a AposentadoriaRevisão - Verdadeiro ou Falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoArgumentos nomeadosValores padrãoFunções de expressão únicaRecapitulação — função SigmaRecapitulação — função de validação13Iterando sobre sequências
Iterando sobre elementosMétodo WithIndexIterando sobre strings P1Iterando sobre strings P2Revisão - Letras indexadas2Variáveis
Val vs VarInferência de TiposNúmerosStringBooleanoConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores – Parte 2
Operadores lógicos – Parte 1Operadores lógicos – Parte 2Operadores lógicos – Parte 3Ternário com expressão ifRecapitulação – Lógica simples8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Nullabilidade
O que é Null SafetyTipos anuláveisOperador de chamada seguraOperador ElvisNoções básicas do desafio de funçõesAsserção de não nuloRecapitulação - Acesso seguro6Tomada de Decisões
Instrução IfIf - ElseIf como ExpressãoExpressão WhenWhen com IntervalosRecapitulação - Calculadora Simples9Laços de Repetição
Laço ForLaço WhileLaço Do-WhileBreakContinueIntervalos em LaçosLaço AninhadoRecapitulação - FatorialRecapitulação - Entrada Dinâmica12Fundamentos de Listas
List vs MutableListAcessando ElementosModificando ListasMétodos de ListaPair e TripleRecapitulação - Lista de ProdutosRecapitulação - Lista Invertida15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Kotlin