1. public void autenticacao() {
2. String senhaReal = "123TESTE";
3. final int chances = 3; //aqui ele determina o número de tentativas possíveis
4. int tentativas = 0; //variável para contar a quantidade de tentativas realizadas
5. do {
6. String senha = new String(jpsSenha.getPassword());
7. if (senha.equals(senhaReal)) {
8. new Caixa().setVisible(true);
9. break; // se acertou, interrompe o laço
10. } else {
11. JOptionPane.showMessageDialog(null, "Senha inválida");
12. tentativas++; // se errou, incrementa as tentativas
13. }
14. } while (tentativas < chances);
15. if (tentativas >= chances) {
16. JOptionPane.showMessageDialog(null, "Desculpe, " + chances + " tentativas inválidas, você foi bloqueado!");
17. }
18. System.out.println("Fim");
19. }
Utilizando o console do java trocando o valor de entrada por um Scanner ou um JOPtionPane(input) eu consigo mas quando trabalho com o JTextField ele retorna um loop e incrementa todas as chances de uma só vez. Como fazer para não retornar esse loop?
, mas use-o com moderação…