JavaCondicionaisintermediario

Sistema de login

Sistemas de login estão em toda parte — desde apps bancários até redes sociais. Quando você valida um nome de usuário e senha, está comparando textos digitados com valores esperados. Usar == para comparar strings é o erro clássico que quebra essa lógica, pois compara endereços de memória, não o conteúdo. Dominar o método equals() evita bugs silenciosos que um dia vão te tirar o sono.

O PROBLEMA

Usuário/senha fixos. Valide com equals() e &&.

EXEMPLO

admin,1234 → Bem-sucedido!

SOBRE O CONCEITO

Em Java, String é um objeto. O operador == verifica se duas variáveis apontam para o mesmo objeto na memória, enquanto equals() compara o conteúdo caractere por caractere. No exercício, se você usar usuarioDigitado == usuarioFixo, a condição será false mesmo quando o texto for idêntico, porque são objetos diferentes. O erro comum é assumir que == funciona para strings como em tipos primitivos. A solução é escrever usuarioDigitado.equals(usuarioFixo) && senhaDigitada.equals(senhaFixa), garantindo que a comparação seja lógica. Lembre-se: equals() diferencia maiúsculas de minúsculas — 'Admin' não é igual a 'admin'.

RESOLUÇÃO

Mais exercícios de Condicionais

JAI008 · BásicoPode votarJAI003 · BásicoPositivo negativo zeroJAI022 · AvançadoTabela do IRJAI012 · IntermediárioClassificação do IMC
Ver todos os exercícios de Java