4
respostas

Como pego as informações salvas em um Array e mostro como String

package exercicio7;
Por exemplo no metodo listarContatos, gostaria que ele mostrasse os contatos com os nomes.



import java.util.ArrayList;

public class Agenda {

    ArrayList<Contato> contato = new ArrayList<Contato>();

    public void adicionarContato(Contato adicionaContato) {
        contato.add(adicionaContato);

    }

    public void listarContatos() {

        System.out.println(contato.toString());

    }

    public void buscaContato(Contato buscaContato) {
        System.out.println(buscaContato.getNome());

    }

    public void removerContato(Contato removerContato) {
        contato.remove(removerContato);

    }
}

Está imprimindo:
[exercicio7.Contato@6a6824be, exercicio7.Contato@5c8da962, exercicio7.Contato@512ddf17, exercicio7.Contato@2c13da15]
4 respostas

Opa basta você fazer um for para popular sua lista contato, como você já tem um método adicionando o na lista contato, então é só usar o for, algo mais ou menos assim.

 public void buscaContato(Contato buscaContato) {
    for(Contanto contato: contato) {
         System.out.println(contato.getNome());
    }

    }

Ola, boa tarde;

Para resolver isso você pode usar a sobrescrita, reescrevendo o método toString na sua classe Contato. O método toString dá uma representação em String do seu objeto, que por defaut é o nome da classe @ e o hash dela em hexa.Exemplo de reescrita:

public String toString() {
  return "Nome - "+this.nome+",idade - "+this.idade;
}

A parte do listarContato() consegui resolver com o codigo que o Michel mandou. Agora estou tentando fazer resolver o buscar contato para buscar o contato que eu escrevo na na string.

public void buscarContato(String buscarContato) {
        for (Contato contato : cont) {
            if (buscarContato.equals(contato.getNome())) {
                System.out.println(contato.getNome() +  contato.getEmail());
} else {
                System.out.println("Não existe este contato");
            }
        }
    }

no public:

agenda.buscarContato("Vinicius");

Estou meio confuso com o que eu fiz kkkk

Você precisa implementar o método Equals na classe Contato e fazer um critério de igualdade entre os objetos. Não se esqueça de utilizar as interfaces em seu favor.

Espero ter ajudado!