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: 34305 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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 |







