Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Monitorando tentativas de login

Tentei utilizar para este exercício o loop do-while. Acredito que está tudo funcionando corretamente. Existe alguma forma de melhorar usando o do-while? Segue o código:

import java.util.Scanner;

public class MonitorandoTentativasLogin {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int tentativas = 0;
        int senha;
        int tentativasRestantes = 3;

        do {
            System.out.println("Digite a sua senha: ");
            senha = sc.nextInt();

            if (senha != 1234) {
                tentativas++;
                tentativasRestantes--;
                System.out.println("Senha incorreta! Você tem "+ tentativasRestantes + " tentativas restantes.\n");

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


            } else {
                System.out.println("Senha Correta! Acesso concedido.");
                break;

            }

        } while(tentativas < 4);

        sc.close();

    }
    
}
2 respostas
solução!

Oi, Victor! Como vai?

Agradeço por compartilhar.

Gostei de como você utilizou o do-while para garantir que a verificação aconteça pelo menos uma vez, além de controlar bem as tentativas com variáveis separadas. Isso deixa o fluxo claro e fácil de acompanhar, principalmente na parte do bloqueio após 3 erros.

Se quiser testar, você pode simplificar a condição do while e evitar variáveis redundantes, usando apenas uma para controle.


int tentativas = 0;

do {
    System.out.println("Digite a senha:");
    int senha = sc.nextInt();

    if (senha == 1234) {
        System.out.println("Acesso liberado");
        break;
    }

    tentativas++;
    System.out.println("Senha incorreta");

} while (tentativas < 3);

Nesse código, tentativas controla diretamente o loop, deixando a logica mais simples e evitando duplicidade de controle.

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

Muito obrigado pela dica de simplificação, Lorena! Agradeço também a disponibilidade do conteúdo. ☺️