Ir ao conteúdo
  • Cadastre-se

Davi Fonseca

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

0
  1. TRABALHO: Agenda de Amigos 1. Descrição do Trabalho Criar uma agenda para organizar todos os contatos de seus amigos. Na agenda deverá ser possível armazenar o nome do amigo, o endereço (Rua, numero, complemento, cidade, estado e CEP), celular, e-mail e data de nascimento. Para desenvolver a Agenda de Amigos, utilizar os conceitos de orientação a objetos estudados e criar as seguintes Classes: Classe Amigo: Especificar os atributos de um amigo, definir métodos de acesso (getters/setters) para cada atributo, construtores e implementar os seguintes métodos: • imprimir(): método que retorna uma string contendo todos os dados de um amigo. • calcularDiasParaAniversariar(): método que retorna um inteiro informando quantos dias faltam para um amigo fazer aniversário ou quantos dias já se passaram do aniversário do amigo. Exemplo1: se o amigo Paulo fizer aniversário em 20/Outubro/1985 e a data atual for 29/Outubro/2012, o método deve retornar uma string: “Passaram 9 dias do aniversário de Paulo” Exemplo2: se a amiga Maria fizer aniversário em 05/Novembro/1986 e a data atual for 29/Outubro/2012, o método deve retornar uma string: “Faltam 7 dias para o aniversário de Maria” Validações a serem feitas para a data de nascimento: • dia: permitir valores entre 1 e 31. • mês: permitir valores entre 1 e 12 • ano: valor não pode ser igual ou maior que o ano atual. Classe Endereco: Especificar os atributos de um endereco, definir métodos de acesso (getters/setters) para cada atributo, construtores e implementar os seguintes métodos: • imprimir(): método que retorna uma string contendo todos os dados de um endereco. Classe GerenciarAmigo: Especificar a classe GerenciarAmigo para realizar o gerenciamento de uma coleção de Amigos. Esta classe terá um ArrayList como atributo. Os métodos que a classe deverá implementar são: cadastrarAmigo() : método para realizar o cadastro de um objeto da classe Amigo no ArrayList. O usuário deverá ter uma mensagem como de resposta: “Amigo cadastrado com Sucesso!”. O desenvolvedor é quem decidirá se o método retornará um valor ou não; • buscarAmigoPeloNome(): método que recebe como parâmetro uma string contendo o nome de um amigo para realizar uma pesquisa no ArrayList e caso encontre o Amigo, retornar uma string contendo todos os dados do amigo cadastrado e quantos dias fazem/faltam para o amigo aniversariar; • aniversariarNoMes(): método que recebe como parâmetro um inteiro contendo um mês do ano (entre 1 e 12) e retorna uma string contendo o nome de todos os amigos cadastrados que fazem aniversário no mês informado. Caso o mês informado esteja fora do intervalo válido, informar o usuário; • listarTodosAmigos(): método que imprime todos os dados de todos os amigos cadastrados no ArrayList. Classe AppAgenda A classe Agenda irá implementar o método main(). Definir um menu de opções como segue: ============================ Menu de opções =========================== 1- CADASTRAR AMIGOS NA AGENDA 2- BUSCAR AMIGOS PELO NOME 3- ANIVERSARIANTES DO MES 4- LISTAR TODOS OS AMIGOS 5- SAIR DA AGENDA ESCOLHA UMA OPÇÃO =========================== 2. Observações: • Para todas as classes de definição, criar um construtor vazio e com parâmetros, além de implementar os métodos de acesso setters/getters. • Utilizar a classe JOptionPane para entrada e saída de dados. • Incluir no topo de cada arquivo (Classe) um comentário com o nome completo e RA de todos os integrantes do grupo. • Utilizar o comentário de documentação para comentar os trechos mais importantes do trabalho. • Gerar o JavaDoc para o projeto • A indentação e organização do código será item de avaliação do trabalho. adicionado 7 minutos depois Classe AMIGO package classes; import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class Amigo { private String nome; private Endereco endereco; private String telefone; private String email; private int diaNascimento; private int mesNascimento; private int anoNascimento; public Amigo(){ } public Amigo(String nome, String email, String telefone, int diaNascimento, int mesNascimento, int anoNascimento, Endereco endereco){ this.nome = nome; this.endereco = endereco; this.telefone = telefone; this.email = email; this.diaNascimento = diaNascimento; this.mesNascimento = mesNascimento; this.anoNascimento = anoNascimento; } //GETTERS E SETTERS DAS INFORMAÇÕES BÁSICAS public String getNome(){ return nome; } public void setNome(String nome){ this.nome = nome; } public Endereco getEndereco(){ return endereco; } public void setEndereco(Endereco endereco){ this.endereco = endereco; } public String getTelefone(){ return telefone; } public void setTelefone(String telefone){ this.telefone = telefone; } public String getEmail(){ return email; } public void setEmail(String email){ this.email = email; } //GETTERS E SETTER PARA DATAS public int getDiaNascimento(){ return diaNascimento; } public void setDiaNascimento(int diaNascimento){ this.diaNascimento = diaNascimento; } public int getMesNascimento(){ return mesNascimento; } public void setMesNascimento(int mesNascimento){ this.mesNascimento = mesNascimento; } public int getAnoNascimento(){ return anoNascimento; } public void setAnoNascimento(int anoNascimento){ this.anoNascimento = anoNascimento; } //METHOD CALCULATING HOW MANY DAYS MISS FOR THE BIRTHDAY public String calcularDiasParaAniversariar(String nome){ String mesNascimento2 = String.format("%02d",mesNascimento); String diaNascimento2 = String.format("%02d", diaNascimento); String nasceu = diaNascimento2+ "/"+mesNascimento2+"/"+anoNascimento; //Pega a data atual LocalDate atual = LocalDate.now(); //Formatação de dados DateTimeFormatter formatada = DateTimeFormatter.ofPattern("dd/MM/yyyy"); LocalDate aniversario = LocalDate.parse(nasceu,formatada); //Pega o dia atual e o dia do aniversario em relação ao inicio do ano int diasNascimento=aniversario.getDayOfYear(); int diasAtual = atual.getDayOfYear(); //calcula o periodo entre os dia do aniversario com os dias atual int dias = diasNascimento-diasAtual; if(dias>0){ return "Faltam "+dias+ "dias para seu aniversário"; }else{ return "Passaram " +dias*-1+ "dias do seu aniversário"; } } //Metodo que imprime todas as informações do amigo public String imprimir(){ //Formata os meses para que fiquem sempre com dois digitos String mesNascimento2=String.format("%02d", mesNascimento); String diaNascimento2=String.format("&02d", diaNascimento); String saida = "Nome: "+nome+ "\nE-mail: "+email+ "\nTelefone: "+telefone+ "\nAniversario: "+diaNascimento2+"/"+mesNascimento2+"/"+anoNascimento+ "\n"+endereco.imprimir()+"\n"; return saida; } } adicionado 8 minutos depois Classe ENDEREÇO package classes; public class Endereco { private String rua; private int numero; private String complemento; private String cidade; private String estado; private String cep; public Endereco(){ } public Endereco(String rua, int numero, String complemento, String cep, String cidade, String estado ){ this.rua = rua; this.numero = numero; this.complemento = complemento; this.cidade = cidade; this.estado = estado; this.cep = cep; } //GETTERS E SETS DAS INFORMAÇÕES DE ENDEREÇO public String getRua(){ return rua; } public void setRua(String rua){ this.rua = rua; } public int getNumero(){ return numero; } public void setNumero(int numero){ this.numero = numero; } public String getComplemento(){ return complemento; } public void setComplemento(String complemento){ this.complemento = complemento; } public String getCidade(){ return cidade; } public void setCidade(String cidade){ this.cidade = cidade; } public String getEstado(){ return cidade; } public void setEstado(String estado){ this.estado = estado; } public String getCep(){ return cep; } public void setCep(String cep){ this.cep = cep; } public String imprimir(){ return "Rua: "+rua+ "\nNúmero: "+numero+ "\nComplemento: "+complemento+ "\nCidade: " +cidade+ "\nEstado: "+estado+ "\nCep: "+cep; } } adicionado 10 minutos depois Classe GERENCIADOR AMIGOS package gerenciador; import classes.Amigo; import java.util.ArrayList; public class GerenciadorAmigos { //ArrayList private static ArrayList<Amigo> agenda = new ArrayList(); //Metodo que adiciona um novo contato a agenda public static void adicionar(Amigo contato) { agenda.add(contato); } public static String buscarAmigoPeloNome(String nome) { //Percorre todo o ArrayList String saida = ""; for (Amigo amigo : agenda) { if (amigo.getNome().equalsIgnoreCase(nome)) { return nome + "\n" + amigo.calcularDiasParaAniversariar(nome); } else { saida = "Nenhum amigo encontrado"; } } return null; } //Metodo que recebe um mês e retorna todos os amigos aniversariantes public static String aniversariarNoMes(int mes) { String saida = ""; //Percorre o ArrayList a procura do mes informado for (Amigo amigo : agenda) { if (mes == amigo.getMesNascimento()) { saida = amigo.getNome() + "\n"; return saida; //retorna os nomes encontrados } } return null; } //Metodo que imprimi a agenda por completo public static String listarTodosAmigos() { String saida = ""; if (agenda.isEmpty()) { saida = "Nenhum contato cadastrado."; } else { //Percorre todo o ArrayList for (Amigo amigo : agenda) { saida = saida + amigo.imprimir() + "\n"; } } return saida; } } adicionado 10 minutos depois MAIN: package appagendaamigos; import classes.Amigo; import classes.Endereco; import gerenciador.GerenciadorAmigos; import javax.swing.JOptionPane; public class AppAgendaAmigos { public static void main(String[] args) { int opcao; //Laço para executar o o programa do{ opcao = Integer.parseInt( JOptionPane.showInputDialog(null, "Menu de opções: "+ "\n1- Cadastar amigo na agenda"+ "\n2- Buscar amigo pelo Nome"+ "\n3- Aniversariante do mês"+ "\n4- Listar todos os amigos"+ "\n5- Sair da agenda"+ "\nEscolha uma opção.")); switch(opcao){ case 1: //Adiciona um novo contato a agenda Amigo amigo = new Amigo( JOptionPane.showInputDialog("Nome: "), JOptionPane.showInputDialog("Email"), JOptionPane.showInputDialog("Telefone"), Integer.parseInt(JOptionPane.showInputDialog("Dia de nascimento")), Integer.parseInt(JOptionPane.showInputDialog("Mês do nascimento")), Integer.parseInt(JOptionPane.showInputDialog("Ano de nascimento")), new Endereco( JOptionPane.showInputDialog("Rua: "), Integer.parseInt(JOptionPane.showInputDialog("Número: ")), JOptionPane.showInputDialog("Complemento: "), JOptionPane.showInputDialog("Cep: "), JOptionPane.showInputDialog("Cidade: "), JOptionPane.showInputDialog("Estado: "))); GerenciadorAmigos.adicionar(amigo); break; case 2: //Busca contato pelo nome String procurarAmigo=GerenciadorAmigos.buscarAmigoPeloNome( JOptionPane.showInputDialog("Informe o nome: ")); if(procurarAmigo!=null){ JOptionPane.showMessageDialog(null, procurarAmigo); }else{ JOptionPane.showMessageDialog(null, "Nenhum amigo encontrado"); } break; case 3: //Motra todos os aniversariantes do mês String mesEscolhido=GerenciadorAmigos.aniversariarNoMes( Integer.parseInt(JOptionPane.showInputDialog("Escolha um mês."))); JOptionPane.showMessageDialog(null, mesEscolhido); break; case 4: //Listar todos os amigos JOptionPane.showMessageDialog(null, GerenciadorAmigos.listarTodosAmigos()); break; case 5: System.exit(0); break; //Opções de 1 a 5. Caso selecione outra opção, o programa fecha. default: JOptionPane.showMessageDialog(null, "Opção inválida!"+"Escolha uma opção válida do menu"); } }while(opcao >=1 && opcao <=5); } }
  2. Classe Amigo package classes; import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class Amigo { private String nome; private Endereco endereco; private String telefone; private String email; private int diaNascimento; private int mesNascimento; private int anoNascimento; public Amigo(){ } public Amigo(String nome, String email, String telefone, int diaNascimento, int mesNascimento, int anoNascimento, Endereco endereco){ this.nome = nome; this.endereco = endereco; this.telefone = telefone; this.email = email; this.diaNascimento = diaNascimento; this.mesNascimento = mesNascimento; this.anoNascimento = anoNascimento; } //GETTERS E SETTERS DAS INFORMAÇÕES BÁSICAS public String getNome(){ return nome; } public void setNome(String nome){ this.nome = nome; } public Endereco getEndereco(){ return endereco; } public void setEndereco(Endereco endereco){ this.endereco = endereco; } public String getTelefone(){ return telefone; } public void setTelefone(String telefone){ this.telefone = telefone; } public String getEmail(){ return email; } public void setEmail(String email){ this.email = email; } //GETTERS E SETTER PARA DATAS public int getDiaNascimento(){ return diaNascimento; } public void setDiaNascimento(int diaNascimento){ this.diaNascimento = diaNascimento; } public int getMesNascimento(){ return mesNascimento; } public void setMesNascimento(int mesNascimento){ this.mesNascimento = mesNascimento; } public int getAnoNascimento(){ return anoNascimento; } public void setAnoNascimento(int anoNascimento){ this.anoNascimento = anoNascimento; } //METHOD CALCULATING HOW MANY DAYS MISS FOR THE BIRTHDAY public String calcularDiasParaAniversariar(String nome){ String mesNascimento2 = String.format("%02d",mesNascimento); String diaNascimento2 = String.format("%02d", diaNascimento); String nasceu = diaNascimento2+ "/"+mesNascimento2+"/"+anoNascimento; //Pega a data atual LocalDate atual = LocalDate.now(); //Formatação de dados DateTimeFormatter formatada = DateTimeFormatter.ofPattern("dd/MM/yyyy"); LocalDate aniversario = LocalDate.parse(nasceu,formatada); //Pega o dia atual e o dia do aniversario em relação ao inicio do ano int diasNascimento=aniversario.getDayOfYear(); int diasAtual = atual.getDayOfYear(); //calcula o periodo entre os dia do aniversario com os dias atual int dias = diasNascimento-diasAtual; if(dias>0){ return "Faltam "+dias+ "dias para seu aniversário"; }else{ return "Passaram " +dias*-1+ "dias do seu aniversário"; } } //Metodo que imprime todas as informações do amigo public String imprimir(){ //Formata os meses para que fiquem sempre com dois digitos String mesNascimento2=String.format("%02d", mesNascimento); String diaNascimento2=String.format("&02d", diaNascimento); String saida = "Nome: "+nome+ "\nE-mail: "+email+ "\nTelefone: "+telefone+ "\nAniversario: "+diaNascimento2+"/"+mesNascimento2+"/"+anoNascimento+ "\n"+endereco.imprimir()+"\n"; return saida; } }
  3. @TwistedSoul Certo, vou tentar desenvolver algo e posto aqui.
  4. Bom dia a todos! Sou novo no fórum e principiante em programação em java. Tenho uma bucha em mãos que meu professor passou e não consigo resolver: Montagem de uma agenda utilizando apenas classes, JOptionPane, encapsulamento e arraylist. Segue a descrição: Criar uma agenda para organizar todos os contatos de seus amigos. Na agenda deverá ser possível armazenar o nome do amigo, o endereço (Rua, numero, complemento, cidade, estado e CEP), celular, e-­‐mail e data de nascimento (dia, mês e ano – Podendo utilizar a Classe GregorianCalendar ou Date). Para desenvolver a Agenda de Amigos, criar as seguintes classes: Classe Amigo Especificar os atributos de um amigo, definir métodos de acesso (getters/setters) para cada atributo, construtores e implementar os seguintes métodos: • imprimir(): método que retorna uma string contendo todos os dados de um amigo. • calcularDiasParaAniversariar(): método que retorna um inteiro informando quantos dias faltam para um amigo fazer aniversário ou quantos dia já se passaram do aniversário do amigo. Exemplo1: se o amigo Paulo fizer aniversário em 20/Outubro/1985 e a data atual for 29/Outubro/2012, o método deve retornar uma string: “Passaram 9 dias do aniversário de Paulo” Exemplo2: se a amiga Maria fizer aniversário em 05/Novembro/1986 e a data atual for 29/Outubro/2012, o método deve retornar uma string: “Faltam 7 dias para o aniversário de Maria” Validações a serem feitas para a data de nascimento: • dia: permitir valores entre 1 e 31. • mês: permitir valores entre 1 e 12 • ano: valor não pode ser igual ou maior que o ano atual. Classe GerenciarAmigo: Especificar a classe GerenciarAmigo para realizar a gestão de uma coleção de Amigos. Esta classe terá um ArrayList como único atributo. Os métodos que a classe deverá implementar são: • cadastrarAmigo(): método para realizar o cadastro de um objeto da classe Amigo no ArrayList. O usuário deverá ter uma mensagem como de resposta: “Amigo cadastrado com Sucesso!”. O desenvolvedor é quem decidirá se o método retornará um valor ou não; • buscarAmigoPeloNome(): método que recebe como parâmetro uma string contendo o nome de um amigo para realizar uma pesquisa no ArrayList e caso encontre o Amigo, retornar uma string contendo todos os dados do amigo cadastrado e quantos dias fazem/faltam para o amigo aniversariar; • aniversariarNoMes(): método que recebe como parâmetro um inteiro contendo um mês do ano (entre 1 e 12) e retorna uma string contendo o nome de todos os amigos cadastrados que fazem aniversário no mês informado. Caso o mês informado esteja fora do intervalo válido, informar o usuário; • listarTodosAmigos(): método que imprime todos os dados de todos os amigos cadastrados no ArrayList. Classe Agenda A classe Agenda irá implementar o método main(). Nesta classe criar objetos das Classes Amigo, Endereco e GerenciarAmigo (caso necessário). Definir um menu de opções como segue: Menu de Opções: 1 - Cadastrar Amigo na Agenda 2 - Procurar Amigo pelo nome 3 - Aniversariantes do mês 4 - Listar todos os Amigos 5 - Sair da Agenda Escolha uma opção ok | sair
  5. Preciso fazer este trabalho, mas sou iniciante em java. adicionado 0 minutos depois @Rodrigo Thomaz Você conseguiu fazer?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...