Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Validação de senha

import java.util.Scanner;

public class SenhaCorreta {
    public static void main(String[] args) {
        int senhaCorreta = 1234;
        int senhaDigitada = 0;
        int tentativa = 0;

        Scanner scanner = new Scanner(System.in);

        while (tentativa < 5) {
            System.out.println("Informe sua senha de acesso:");
            senhaDigitada = scanner.nextInt();

            if (senhaDigitada == senhaCorreta) {
                System.out.println("Login efetuado com sucesso.");
                break;
            }

            tentativa++;
            System.out.println("Senha incorreta. Tente novamente.");
        }

        if (senhaDigitada != senhaCorreta && tentativa == 5) {
            System.out.println("Tentativas excedidas. Entre em contato com o suporte.");
        }

        scanner.close();
    }
}
1 resposta

Boa noite, Joao! Tranquilo?

Gostei demais da sua solução, continue assim!

Mandou muito bem explorando o while para controle de tentativas com Java, aplicou de maneira eficiente o break para encerrar o loop quando a senha está correta e entendeu como usar o Scanner para entrada de dados.

E um detalhe curioso para aprimorar seria mostrar ao usuário quantas tentativas ainda restam. Exemplo:

tentativa++;
int restantes = 5 - tentativa;
System.out.println("Senha incorreta. Tentativas restantes: " + restantes);

Isso faz com que o usuário tenha mais clareza sobre o limite de tentativas.

Para aprimorar suas soluções, algumas boas práticas são:

  • Encapsulamento: criar um método separado para validar a senha.
  • Validação de entrada: tratar casos em que o usuário digite algo que não seja número.
  • Feedback claro: diferenciar mensagens de erro e sucesso para melhorar a experiência.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Ah, uma pergunta: o que você gostaria de praticar mais agora, implementar bloqueio temporário após várias tentativas erradas ou criar métodos auxiliares para organizar melhor o código?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!