1
resposta

[Dúvida] Monitorando tentativas de login

Gostaria de saber se há algum erro no meu código, pois cheguei ao mesmo resultado.

import java.util.Scanner;

public class Senha {
    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);
        int senhaCorreta = 1234;
        int tentativas =  3;

        while (tentativas > 0) {
            System.out.println("Digite sua senha: ");
            int senha = leitor.nextInt();
            tentativas = tentativas - 1;

            if (senha == senhaCorreta) {
                System.out.println("Senha correta! Acesso concedido!");
                break;
            } else {
                System.out.println("Senha incorreta. Você tem " + tentativas + " tentativas restantes.");
                if (tentativas == 0) {
                    System.out.println("Conta bloqueada temporariamente.");
                }
            }
         }
        leitor.close();
    }
}
1 resposta

Oi, Manuela! Como vai?

Seu código está muito bem estruturado! Você utilizou corretamente o loop while para controlar as tentativas de login e aplicou bem as estruturas condicionais.

Uma dica interessante para o futuro é utilizar a forma abreviada para subtrair valores de uma variável. No lugar de tentativas = tentativas - 1; você pode usar tentativas -= 1;, que tem o mesmo efeito e deixa o código mais limpo. Veja este exemplo:


tentativas -= 1;

Isso significa: "tentativas recebe ela mesma menos 1".

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