Recapitulação - Acesso seguro
Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 18 de 93.
Desafio
FácilEscreva uma função safeWordInfo que receba word1 e word2 e retorne uma string formatada com informações sobre ambas as palavras.
A função recebe duas strings que podem representar palavras reais ou a string literal "null" para indicar um valor ausente. Você precisa tratá-las como valores anuláveis e usar operadores de acesso seguro para construir o resultado.
Lógica:
- Trate qualquer entrada igual a
"null"como um valor nulo - Para cada palavra, obtenha seu comprimento usando uma chamada segura. Se for nula, use
0como comprimento padrão - Para cada palavra, obtenha sua versão em maiúsculas usando uma chamada segura. Se for nula, use
"N/A"como padrão
Parâmetros:
word1(String): Primeira palavra ou"null"se estiver ausenteword2(String): Segunda palavra ou"null"se estiver ausente
Retorno: Uma string no formato: Word1: [UPPERCASE] ([length]) | Word2: [UPPERCASE] ([length])
Exemplo: Para as entradas "hello" e "null", retorne "Word1: HELLO (5) | Word2: N/A (0)"
As duas linhas de conversão no código inicial são fornecidas para você. Mantenha-as inalteradas; você aprenderá a sintaxe condicional delas mais tarde. Seu trabalho começa com os valores anuláveis w1 e w2.
Experimente você mesmo
fun safeWordInfo(word1: String, word2: String): String {
// Conversão fornecida: deixe estas duas linhas inalteradas.
val w1: String? = if (word1 == "null") null else word1
val w2: String? = if (word2 == "null") null else word2
// Use chamadas seguras e fallbacks para construir e retornar o resultado.
TODO("Complete the safe access operations")
}
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ção2Variá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