Agenda em java

3 respostas
A

Olá.
alguém pode ajudar?

  1. Preciso criar um array de uma agenda com no máximo 20 contatos.
  2. Fazer uma pesquisa que liste todos os contatos cadastrados, (Ex: jo), deve exibir os contatos que contém essa inicial.
  3. Fazer uma classe de exceção para ser possível cadastrar apenas 20 contatos, caso o usuário tente cadastrar mais que isso deve exibir a exceção.
classe main

<strong>package programa;</strong>

import java.util.ArrayList;

import java.util.Scanner;
public class Programa {

public static void main(String[] args) {

// TODO code application logic here
Scanner entrada = new Scanner (System.in);
    int op = 0;
    ArrayList<Contato> agendaContatos = new ArrayList();
    Contato contato;

    while (op != 3){            

        System.out.println("\n1 - CADASTRAR: ");
        System.out.println("2 - LISTAR: ");
        System.out.println("3 - SAIR:\n"); 

        op = Integer.parseInt(entrada.nextLine());

        contato = new Contato();
        switch(op)
        {
        case 1:
            System.out.println("Digite o nome: ");
            contato.setNome(entrada.nextLine());
            System.out.println("Digite o telefone  : ");
            contato.setTelefone(entrada.nextLine());
            System.out.println("Digite o email : ");
            contato.setEmail(entrada.nextLine());
            System.out.println("Cadastro Realizado com Sucesso");

            agendaContatos.add(contato);

            break;            

        case 2:
             for(Contato objetoContato : agendaContatos){
                 System.out.println("Nome: " + objetoContato.getNome());
                 System.out.println("Telefone: " + objetoContato.getTelefone());
                 System.out.println("e-mail: " + objetoContato.getEmail());
             }
            break;

        default:
            System.out.println("OPÇÃO INVÁLIDA!!!");
        }
    }


}

}
classe contato

package programa;

public class Contato {
private String nome;
private String email;
private String telefone;

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getTelefone() {
    return telefone;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}

}

3 Respostas

G

Você está com dificuldade exatamente aonde? Em pesquisar pela inicial do nome do contato?

A

Exatamente

I

Que tal assim?

private List<Contato> pesquisarContato(String nome){
	List<Contato> contatosEncontrados = new ArrayList<>();
	
	for(Contato contato : agendaContatos){
		if(contato.getNome().startsWith(nome)){
			contatosEncontrados.add(contato);
		}
	}
}

case 2:
	List<Contato> encontrados = new ArrayList<>();
	
	System.out.print("\nNome do contato: ");
	encontrados = pesquisarContato(leitor.next());
	break;
Criado 25 de novembro de 2019
Ultima resposta 26 de nov. de 2019
Respostas 3
Participantes 3