Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Crie uma classe Contato que possui dois atributos: nome e email do tipo String. Crie outra classe, chamada Agenda, que possui um atributo contatos do tipo vetor de Contato - Exercícios Resolvidos de JavaQuantidade de visualizações: 34031 vezes |
Exercício Resolvido de Java - Crie uma classe Contato que possui dois atributos: nome e email do tipo String. Crie outra classe, chamada Agenda, que possui um atributo contatos do tipo vetor de Contato Pergunta/Tarefa: Crie uma classe Contato que possui dois atributos: nome e email do tipo String. Crie outra classe, chamada Agenda, que possui um atributo contatos do tipo vetor de Contato. A classe Agenda deve conter um método para adicionar um novo contato em uma posição vazia do vetor, outro método para buscar um contato (retorna uma instância de Contato) através do nome e, por fim, um método para excluir um contato através do nome. Veja um print deste exercício em execução: ![]() Resposta/Solução: A resolução deste exercício sobre Programação Orientada a Objetos em Java é um pouco mais demorada que as demais, pois temos que criar um menu de opções. Note que temos que informar também o tamanho do vetor de objetos da classe Contato, ou seja, a quantidade de contatos de poderão ser cadastrados na agenda. Vamos começar com o código da classe Contato: Código para a classe Contato.java: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; public class Contato { // atributos da classe Contato String nome; String email; } Agora o código para a classe Agenda.java, que contém um vetor de objetos da classe Contato: Código para Agenda.java: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; public class Agenda { // vetor de contatos int quantContatos = 2; Contato contatos[] = new Contato[quantContatos]; public void adicionarNovoContato(Contato c){ boolean sucesso = false; // a operação obteve sucesso? // procuramos uma posição vazia for(int i = 0; i < quantContatos; i++){ if(contatos[i] == null){ // encontramos uma posição vazia contatos[i] = c; sucesso = true; break; } } if(sucesso){ System.out.println("\nContato cadastrado com sucesso.\n"); } else{ System.out.println("\nErro: Lista de contatos cheia.\n"); } } // permite que permite pesquisar e retornar um contato public Contato pesquisarContato(String nome){ Contato contato = null; // varre o vetor de contatos for(int i = 0; i < contatos.length; i++){ // o contato foi encontrado? if((contatos[i] != null) && (contatos[i].nome.equals(nome))){ contato = contatos[i]; // retorna o contato break; } } return contato; } // permite que permite pesquisar e excluir um contato public void excluirContato(String nome){ Contato contato = null; boolean excluido = false; // varre o vetor de contatos for(int i = 0; i < contatos.length; i++){ // o contato foi encontrado? if((contatos[i] != null) && (contatos[i].nome.equals(nome))){ contatos[i] = null; // exclui o contato System.out.println("\nContato excluído com sucesso.\n"); excluido = true; break; } } if(!excluido){ System.out.println("\nContato não encontrado.\n"); } } } E aqui está o código completo para a classe principal, com comentários, que cria um objeto da classe Agenda e oferece o menu de opções para o gerenciamento dos contatos: Código para Principal.java: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // vamos efetuar a leitura usando um objeto da // classe Scanner Scanner entrada = new Scanner(System.in); String nome, email; // dados temporários Contato c; // criamos um novo objeto da classe Agenda Agenda agenda = new Agenda(); // um laço while infinito para exibir o menu while(true){ System.out.println("1. Cadastrar Novo Contato"); System.out.println("2. Pesquisar Contato"); System.out.println("3. Excluir Contato"); System.out.println("4. Sair"); System.out.print("Sua opção: "); int opcao = Integer.parseInt(entrada.nextLine()); switch(opcao){ case 1: // cadastrar novo contato System.out.print("\nNome: "); nome = entrada.nextLine(); System.out.print("E-Mail: "); email = entrada.nextLine(); // cria um novo objeto da classe Contato c = new Contato(); c.nome = nome; c.email = email; // e gravamos o novo contato agenda.adicionarNovoContato(c); break; case 2: // pesquisar um contato System.out.print("\nInforme o Nome: "); nome = entrada.nextLine(); // pesquisa o contato c = agenda.pesquisarContato(nome); if(c == null){ System.out.println("\nContato não encontrado.\n"); } else{ System.out.println("Contato encontrado:\nNome: " + c.nome + "; E-Mail: " + c.email + "\n"); } break; case 3: // exclui um contato System.out.print("\nInforme o Nome: "); nome = entrada.nextLine(); // exclui o contato agenda.excluirContato(nome); break; case 4: // fecha o programa System.exit(0); } } } } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |