1
resposta

[Projeto] Desafio resolvido

import java.util.Scanner;

public class TentativasLogin {
    public static void main(String[] args) {

        String senhaSecreta = "Secreta123";
        Scanner teclado = new Scanner(System.in);

        int tentativas = 3;

        while (tentativas > 0) {

            System.out.print("Digite sua senha: ");
            String senha = teclado.nextLine();

            if (senha.equals(senhaSecreta)) {
                System.out.println("Senha Correta! Acesso concedido!");
                break;
            } else {
                tentativas--;
                System.out.println("Senha incorreta. Você tem " + tentativas + " tentativa restante.");
            }
        }

        if (tentativas == 0) {
            System.out.println("Conta bloqueada temporariamente.");
        }

        teclado.close();
    }
}
1 resposta

Oi, Aldeny! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Achei muito interessante a forma como você utilizou o while para controlar as tentativas de login e também o uso do break quando a senha correta é digitada. Isso mostra um bom entendimento de como interromper um loop quando uma condição específica é atendida. Outro ponto legal foi o controle da variável tentativas, diminuindo a cada erro e verificando no final quando a conta deve ser bloqueada.

Uma dica interessante para o futuro é utilizar o método equalsIgnoreCase() quando quiser comparar textos sem diferenciar letras maiúsculas e minúsculas. Veja este exemplo:


String senhaCorreta = "secreta123";
String senhaDigitada = "Secreta123";

if (senhaDigitada.equalsIgnoreCase(senhaCorreta)) {
    System.out.println("Acesso permitido");
}

Nesse exemplo, equalsIgnoreCase() compara duas strings ignorando diferenças entre maiúsculas e minúsculas, permitindo que o login funcione mesmo que a pessoa digite letras em formatos diferentes.

Alura

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