Request access data when some data is wrong

Asked

Viewed 60 times

-3

Someone could inform me a way to do the following thing: After the password or user error, or both, the user returned to the first question, in case: "Which user?" so I could try again.

package SistemaLogineRegistro;

import java.util.Scanner;

public class Login {
    public static void main(String[] args) {
        Usuario um = new Usuario();
        um.setUsuario("Yuri", "123123yuri");
        um.getUsuario();
        um.getSenha();

        int tentativa = 0;
        Scanner s = new Scanner(System.in);
        System.out.println("Qual o usuario?");
        String usuario = s.nextLine();
        System.out.println("Qual a senha?");
        String senha = s.nextLine();

            if (usuario.equalsIgnoreCase(um.getUsuario()) && senha.equals(um.getSenha())) {
                System.out.println("Logado com sucesso!");
            }
            else if(!usuario.equals(um.usuario)) {
                System.err.println("Usuario incorreto");
                tentativa += 1;

            } else if (!senha.equals(um.senha)) {
                tentativa += 1;
                System.err.println("Senha incorreta");
            } else if (!senha.equals(um.senha) && !usuario.equals(um.usuario)) {
                tentativa += 1;
                System.out.println("Usuario e senha Incorretos !");
            }else if(tentativa >= 5){
                System.err.println("Você excedeu o Limite de ERRO ! (5) Tentativas");
            }   

        {

        }
    }

}
  • 3

    You’ve studied repetitive bonding?

  • I’ve studied repetition ties, But I believe I can do with the while but I don’t know how to do, I’ll try here again

1 answer

1

See if this is what you need. Read the comments in the code and, if you have any questions, just ask. This is just one of the ways to solve your problem.

public static void main(String args[]) {
        Usuario um = new Usuario("Yuri", "12345");
        int tentativa = 0;
        Scanner s = new Scanner(System.in);
        String usuarioDigitado, senhaDigitada;
        int numeroMaximoTentativas = 5;

        //O laço será executado enquanto não for atingido
        //o número máximo de tentativas
        while(tentativa < numeroMaximoTentativas) {
            tentativa++;
            System.out.println("Qual o usuario?");
            usuarioDigitado = s.nextLine();

            if(!usuarioDigitado.equals(um.getUsuario())) {
                System.out.println("Usuário incorreto");
            }

            System.out.println("Qual a senha?");
            senhaDigitada = s.nextLine();

            if(!senhaDigitada.equals(um.getSenha())) {
                System.out.println("Senha incorreta");
            }

            if(usuarioDigitado.equals(um.getUsuario()) &&
                    senhaDigitada.equals(um.getSenha())) {
                System.out.println("Usuário logado com sucesso");
                //Se usuário e senha batem, quebramos o laço
                break;
            }

            //Enquanto ainda houver tentativa, a mensagem é mostrada
            if(tentativa < numeroMaximoTentativas) {
                System.out.println("Restam " + (numeroMaximoTentativas - tentativa) + " tentativas...");
            }

            if(tentativa == numeroMaximoTentativas) {
                System.out.println("Você excedeu o limite de erros!! Finalizando...");
            }
        }
    }
}

class Usuario {
    private String usuario;
    private String senha;

    public Usuario(String usuario, String senha) {
        this.usuario = usuario;
        this.senha = senha;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.