Ir ao conteúdo
  • Cadastre-se

Davi Fonseca

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

posts postados por Davi Fonseca

  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. 1 hora atrás, TwistedSoul disse:

    @Davi Fonseca Cara, ele postou isso aqui em 2015 e nunca mais voltou. Ele tem apenas esse post aqui no fórum.

     

    Vai tentando fazer. Qualquer dúvida ou se você travou no desenvolvimento, posta seu código aqui que vamos dando dicas de como resolver. O objetivo aqui é você aprender e não ganhar o código pronto.

    @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

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!