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

Do jeito do Instrutor não funcionou, mudei e funcionou

Olá. Seguindo os passos do nico, não funcionou. Ele criou um método de verificação assim:

public boolean ehIgual(String login, String senha) {
        if(!this.login.equals(login)) {
            return false;
        }

        if(!this.senha.equals(senha)) {
            return false;
        }

        return true;
    }

Mas quando tentar fazer aqui em casa, o usuário não autenticava, retornava null, no código dessa classe:

public Usuario existeUsuario(String login, String senha) {
        for(Usuario usuario : listaUsuarios){
            if(usuario.ehIgual(login,senha)){
                return usuario;
            }
        }
        return null;
    }

Fiquei implicado com o código mostrado lá em cima, e resolvi colocar assim:

  public boolean ehIgual(String login, String senha){
        if(!this.login.equals(login) && !this.login.equals(senha)){
            return false;
        }
        return true;
    }

Faz sentido isso ? E pelo jeito, baixando o código fonte da aula, realmente estava do jeito que o nico fez, porque não tava funcionando no meu ?

3 respostas
solução!

Boa noite, Samuel! Como vai?

Sobre o seu código do método ehIgual() implementado por vc, o correto seria utilizar o operador lógico || (OU) e não o && (E). O motivo disso é que o método deve retornar false caso o login OU a senha estejam incorretos.

Sobre a implementação do Nico não funcionar, me parece estranho! Talvez vc estivesse informando login e senha que não batessem com o login e senha de nenhum usuário da lista. É a única possibilidade que me surgiu em mente tendo por base o trecho de código que vc mandou!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Também achei estranho, mas valeu vou arrumar meu codigo

Por nada, Samuel! Sempre que precisar tirar alguma dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos, meu aluno!