1
resposta

Validação de senha

import java.util.Scanner;

public class ValidacaoSenha {
    public static void main(String[] args) {
        String senhaCorreta = "123456";
        String senhaDigitada;
        int tentativas = 0;
        int maxTentativas = 3;
        Scanner scanner = new Scanner(System.in);

        while (tentativas < maxTentativas) {
            System.out.println("Tentativa " + (tentativas + 1) + ": Digite a senha:");
            senhaDigitada = scanner.nextLine();
            tentativas++;

            if (senhaDigitada.equals(senhaCorreta)) {
                System.out.println("Senha correta! Acesso concedido.");
                break; 
            } else {
                System.out.println("Senha incorreta. Tente novamente.");
            }
        }

        if (tentativas == maxTentativas) {
            System.out.println("Número máximo de tentativas excedido. Acesso bloqueado.");
        }

        scanner.close();
    }
}
1 resposta

Bom dia Kauã! Tudo bem com você?

Obrigada por compartilhar sua resolução com a comunidade Alura. Além de cumprir o que foi pedido, você acrescentou um controle de tentativas que simula uma camada de segurança. Muito bom!

Ícone de sugestão Para saber mais:

Uma variação interessante é usar o método equalsIgnoreCase() para comparar senhas sem levar em conta letras maiúsculas ou minúsculas. Isso é útil em sistemas que não exigem diferenciação entre "Senha" e "senha".

if (senhaDigitada.equalsIgnoreCase(senhaCorreta)) {
    System.out.println("Senha correta! Acesso concedido.");
}

Lembrando que nem todos os sistemas adotam esse comportamento — depende da política de segurança adotada. Mas conhecer essa alternativa amplia suas possibilidades.

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