Baixe o app para aproveitar ainda mais
Prévia do material em texto
Faculdade Estácio Lista de Exercícios em Java Implemente um programa em Java que contenha as seguintes classes: Projeto Número ( obrigatório e >0 ) Titulo Coordenador Orçamento (> 0) lista_equipe (lista de objetos da classe pessoas) Pessoas CPF (deve ter seu número valido- procurar função na web) Nome salario > 0 Em ambas as classes todos os atributos devem ser encapsulados (com exceção de “lista_equipe” na classe de PROJETO). Na classe principal deve-se implementar um menu com as opções definidas a seguir para as duas classes: Inclusão Consulta Alteração Exclusão Listagem Os cadastros dos projetos e pessoas devem ser vinculados com ArrayLists e o cadastro de cada membro da equipe de projetos deve ser feito a partir de uma pessoa já cadastrada na lsiat de pessoas. RESPOSTAS: LEMBRE-SE QUE AO TENTAR EXECUTAR, PONHA CADA CLASSE COM SEUS IMPORTS EM UM ARQUIVO INDEPENDENTE NO PROJETO JAVA importjavax.swing.JOptionPane; publicclass Pessoa { private String cpf; private String nome; privatedoublesalario; Pessoa(String c, String n, doubles) { String Saida = ""; if(isValido(c)) cpf = c; else Saida = "CPF Inválido!\n"; if(s> 0) salario = s; else Saida += "Salário Inválido!"; if(!Saida.equals("")) JOptionPane.showMessageDialog(null, Saida); nome = n; } publicbooleanisValido(String cpfSemFormatacao) { if (cpfSemFormatacao.length() != 11 || cpfSemFormatacao.equals("00000000000") || cpfSemFormatacao.equals("99999999999")) { returnfalse; } String digitos = cpfSemFormatacao.substring(0, 9);; String dvs = cpfSemFormatacao.substring(9, 11); String dv1 = gerarDV(digitos); String dv2 = gerarDV(digitos + dv1); returndvs.equals(dv1 + dv2); } private String gerarDV(String digitos) { intpeso = digitos.length() + 1; intdv = 0; for (inti = 0; i<digitos.length(); i++) { dv += Integer.parseInt(digitos.substring(i, i + 1)) * peso; peso--; } dv = 11 - (dv % 11); if (dv> 9) { return"0"; } returnString.valueOf(dv); } publicdoublegetSalario() { returnsalario; } publicvoidsetSalario(doubles) { if(s>0) salario = s; else JOptionPane.showMessageDialog(null, "SalárioInválido!"); } public String getNome() { returnnome; } publicvoidsetNome(String n) { if(!n.equals("")) nome = n; else JOptionPane.showMessageDialog(null, "Nome Inválido!"); } public String getCPF() { returncpf; } publicvoidsetCPF(String c) { if(isValido(c)) cpf = c; else JOptionPane.showMessageDialog(null, "CPF Inválido!"); } public String RetornarConteudo() { String Saida = "\nNome da pessoa:"+nome; Saida += "\nSalário:"+salario; Saida += "\nCPF:"+cpf; returnSaida; } } importjavax.swing.JOptionPane; publicclass Pessoa { private String cpf; private String nome; privatedoublesalario; Pessoa(String c, String n, doubles) { String Saida = ""; if(isValido(c)) cpf = c; else Saida = "CPF Inválido!\n"; if(s> 0) salario = s; else Saida += "Salário Inválido!"; if(!Saida.equals("")) JOptionPane.showMessageDialog(null, Saida); nome = n; } publicbooleanisValido(String cpfSemFormatacao) { if (cpfSemFormatacao.length() != 11 || cpfSemFormatacao.equals("00000000000") || cpfSemFormatacao.equals("99999999999")) { returnfalse; } String digitos = cpfSemFormatacao.substring(0, 9);; String dvs = cpfSemFormatacao.substring(9, 11); String dv1 = gerarDV(digitos); String dv2 = gerarDV(digitos + dv1); returndvs.equals(dv1 + dv2); } private String gerarDV(String digitos) { intpeso = digitos.length() + 1; intdv = 0; for (inti = 0; i<digitos.length(); i++) { dv += Integer.parseInt(digitos.substring(i, i + 1)) * peso; peso--; } dv = 11 - (dv % 11); if (dv> 9) { return"0"; } returnString.valueOf(dv); } publicdoublegetSalario() { returnsalario; } publicvoidsetSalario(doubles) { if(s>0) salario = s; else JOptionPane.showMessageDialog(null, "SalárioInválido!"); } public String getNome() { returnnome; } publicvoidsetNome(String n) { if(!n.equals("")) nome = n; else JOptionPane.showMessageDialog(null, "Nome Inválido!"); } public String getCPF() { returncpf; } publicvoidsetCPF(String c) { if(isValido(c)) cpf = c; else JOptionPane.showMessageDialog(null, "CPF Inválido!"); } public String RetornarConteudo() { String Saida = "\nNome da pessoa:"+nome; Saida += "\nSalário:"+salario; Saida += "\nCPF:"+cpf; returnSaida; } } importjava.util.ArrayList; importjavax.swing.JOptionPane; publicclass Principal { publicstaticvoid main(String[] args) { ArrayList<Projeto>ListaProjetos = new ArrayList<Projeto>(); ArrayList<Pessoa>ListaPessoas = new ArrayList<Pessoa>(); intop1=0, op2 = 0; do{ op1 = Integer.parseInt(JOptionPane.showInputDialog("1-Projetos\n2-Pessoas\n3-Sair")); if(op1==1) { do{ op2 = Integer.parseInt(JOptionPane.showInputDialog("1-Inclusão de Projetos\n2-Exclusão de Projetos" + "\n3-Consulta de Projetos\n4-Alteração de Projetos\n5-Listagem de Projetos\n6-VOLTAR\n")); if(op2 == 1) { intnumero = Integer.parseInt(JOptionPane.showInputDialog("Informe o número:")); String titulo = JOptionPane.showInputDialog("Informe o Titulo:"); String coordenador = JOptionPane.showInputDialog("Informe o coordenador:"); doubleorcamento = Double.parseDouble(JOptionPane.showInputDialog("Informe o orçamento:")); Projeto P = new Projeto(numero, titulo, coordenador, orcamento); String resp = "s"; do{ String cpf = JOptionPane.showInputDialog("Informe o CPF da pessoa da equipe:"); intachei = 0; for(Pessoa p: ListaPessoas) { if(p.getCPF().equals(cpf)) { Pessoa Pes = new Pessoa(cpf, p.getNome(), p.getSalario()); P.lista_equipe.add(Pes); achei = 1; break; } } if(achei == 0) JOptionPane.showMessageDialog(null, "Pessoa não encontrada!"); else JOptionPane.showMessageDialog(null, "Pessoa cadastrada!"); resp = JOptionPane.showInputDialog("Deseja cadastrar mais alguma pessoa(s/n)?"); }while(resp.equals("s")); ListaProjetos.add(P); } elseif(op2 == 2) { intnum = Integer.parseInt(JOptionPane.showInputDialog("Informe o numero do projeto a ser excluído:")); intachei = 0; for(Projeto p: ListaProjetos) { if(p.getNumero() == num) { ListaProjetos.remove(p); achei = 1; JOptionPane.showMessageDialog(null, "Projeto excluido!"); break; } } if(achei == 0) JOptionPane.showMessageDialog(null, "Projetonãoencontrado!"); } elseif(op2 == 3) { intnum = Integer.parseInt(JOptionPane.showInputDialog("Informe o numero do projeto a ser consultado:")); intachei = 0; for(Projeto p: ListaProjetos) { if(p.getNumero() == num) { achei = 1; JOptionPane.showMessageDialog(null, p.RetornarConteudo()); break; } } if(achei== 0) JOptionPane.showMessageDialog(null, "Projeto não encontrado!"); } elseif(op2 == 4) { intnum = Integer.parseInt(JOptionPane.showInputDialog("Informe o numero do projeto a ser alterado:")); intachei = 0; for(Projeto p: ListaProjetos) { if(p.getNumero() == num) { achei = 1; JOptionPane.showMessageDialog(null, "DADOS ATUAIS:\n\n" + p.RetornarConteudo()); intnumero = Integer.parseInt(JOptionPane.showInputDialog("Informe o novo número:")); String titulo = JOptionPane.showInputDialog("Informe o novo Titulo:"); String coordenador = JOptionPane.showInputDialog("Informe o novo coordenador:"); doubleorcamento = Double.parseDouble(JOptionPane.showInputDialog("Informe o novo orçamento:")); p.setNumero(numero); p.setCoordenador(coordenador); p.setOrcamento(orcamento); p.setTitulo(titulo); String resp = "s"; do{ String cpf = JOptionPane.showInputDialog("Informe o CPF da NOVA pessoa da equipe:"); intachei2 = 0; for(Pessoa pes: ListaPessoas) { if(pes.getCPF().equals(cpf)) { Pessoa Pes = new Pessoa(cpf, pes.getNome(), pes.getSalario()); p.lista_equipe.add(Pes); achei2 = 1; break; } } if(achei2 == 0) JOptionPane.showMessageDialog(null, "Pessoa não encontrada!"); else JOptionPane.showMessageDialog(null, "Pessoa cadastrada!"); resp = JOptionPane.showInputDialog("Deseja cadastrar mais alguma pessoa(s/n)?"); }while(resp.equals("s")); JOptionPane.showMessageDialog(null, "Alterações realizadas (onde foi possível)!"); break; } } if(achei == 0) JOptionPane.showMessageDialog(null, "Projetonãoencontrado!"); } elseif(op2 == 5) { for(Projeto p: ListaProjetos) { JOptionPane.showMessageDialog(null, p.RetornarConteudo()); } } elseif(op2 != 6) { JOptionPane.showMessageDialog(null, "OpçãoInválida!"); } }while(op2 != 6); } elseif(op1==2) { do{ op2 = Integer.parseInt(JOptionPane.showInputDialog("1-Inclusão de Pessoas\n2-Exclusão de Pessoas" + "\n3-Consulta de Pessoas\n4-Alteração de Pessoas\n5-Listagem de Pessoas\n6-VOLTAR\n")); if(op2 == 1) { String cpf = JOptionPane.showInputDialog("Informe o CPF:"); String nome = JOptionPane.showInputDialog("Informe o Nome:"); doublesalario = Double.parseDouble(JOptionPane.showInputDialog("Informe o salário:")); Pessoa P = new Pessoa(cpf, nome, salario); if(cpf != null) ListaPessoas.add(P); } elseif(op2 == 2) { String cpf = JOptionPane.showInputDialog("Informe o CPF da pessoa a ser excluída:"); intachei = 0; for(Pessoa p: ListaPessoas) { if(p.getCPF().equals(cpf)) { ListaPessoas.remove(p); achei = 1; JOptionPane.showMessageDialog(null, "Pessoa excluida!"); break; } } if(achei == 0) JOptionPane.showMessageDialog(null, "Pessoa não encontrada!"); } elseif(op2 == 3) { String cpf = JOptionPane.showInputDialog("Informe o CPF da pessoa a ser consultada:"); intachei = 0; for(Pessoa p: ListaPessoas) { if(p.getCPF().equals(cpf)) { achei = 1; JOptionPane.showMessageDialog(null, p.RetornarConteudo()); break; } } if(achei == 0) JOptionPane.showMessageDialog(null, "Pessoa não encontrada!"); } elseif(op2 == 4) { String cpf = JOptionPane.showInputDialog("Informe o CPF da pessoa a ser consultada:"); intachei = 0; for(Pessoa p: ListaPessoas) { if(p.getCPF().equals(cpf)) { achei = 1; JOptionPane.showMessageDialog(null, "DADOS ATUAIS:\n\n" + p.RetornarConteudo()); cpf = JOptionPane.showInputDialog("Informe o NOVO CPF:"); String nome = JOptionPane.showInputDialog("Informe o NOVO Nome:"); doublesalario = Double.parseDouble(JOptionPane.showInputDialog("Informe o NOVO salário:")); p.setCPF(cpf); p.setNome(nome); p.setSalario(salario); JOptionPane.showMessageDialog(null, "Alterações realizadas (onde foi possível)!"); break; } } if(achei == 0) JOptionPane.showMessageDialog(null, "Pessoa não encontrada!"); } elseif(op2 == 5) { for(Pessoa p: ListaPessoas) { JOptionPane.showMessageDialog(null, p.RetornarConteudo()); } } elseif(op2 != 6) { JOptionPane.showMessageDialog(null, "OpçãoInválida!"); } }while(op2 != 6); } }while(op1 != 3); } } Informe (V) ou (F) () Um objeto é uma instancia de uma classe ( ) Um atributo é uma característica que define a estrutura de uma funcionalidade de uma classe ( ) Métodos são funcionalidades vinculadas aos atributos de objetos ( ) Um construtor pode possuir parâmetros, define o comportamento funcional de um objeto no momento de sua instanciação e é identificado pelo nome do objeto ( ) Arraylists permitem a manipulação de listas estáticas de objetos de uma dada classe, ou de elementos de tipos nativos ( ) O mecanismo do “garbade collector” garante que objetos instanciados e que estejam inacessíveis por um programa tenham sua memória liberada e devolvida automaticamente para o S.O. ( ) Objetos, assim como os ponteiros, que não existem em Java, só podem ser utilizados quando passarem a referenciar uma área de memória que conterá uma instância da sua classe (para objetos) ou de seus tipos (para ponteiros) RESPOSTAS: V, F, F, F, F, V, V
Compartilhar