LuisM Posted December 4, 2012 at 11:22 PM Report #485801 Posted December 4, 2012 at 11:22 PM Ola a todos, eu estou com algumas dúvidas e gostaria que vocês me ajudassem no que for possível. Gostaria de uma ajuda com relação aos métodos excluir e listar e se eu estou fazendo certo o método cadastro. Se vocês pudessem me dar exemplos ou mesmo me ajudar no código agradeço muito. pai import javax.swing.JOptionPane; /** * * @author luis1 */ public class Pessoa { private String nome; private int numero = 0; public Pessoa() { nome = "sem nome"; numero++; } public Pessoa(String nomeInicial, int numfiscal) { nome = nomeInicial; numero = numfiscal; } public void setNome(String novoNome) { nome = novoNome; } public void setNumero(int numfiscal) { numero = numfiscal; } public String getNome() { return nome; } public int getNumero() { return numero; } public void cadastro() { setNome(JOptionPane.showInputDialog("Introduza o nome da pessoa: ")); setNumero(numero++); } public void excluir() { } public void alterar() { } public void listar() { } @Override public String toString() { return ("Nome: " + nome + "numerofiscal:" + numero); } public boolean temMesmoNome(Pessoa outraNome) { return this.nome.equalsIgnoreCase(outraNome.nome); } } filho public class Artista extends Pessoa { public Artista(){ super(); } public void cadastro() { super.cadastro(); } public void excluir() { super.excluir(); } public void alterar() { super.alterar(); } public void listar() { super.listar(); } } menu import java.util.ArrayList; import javax.swing.JOptionPane; /** * * @author luis1 */ public class Menu { public void Menu() { ArrayList<Pessoa> pessoa = new ArrayList<Pessoa>(); int op = 0; int opt = 0; while (op != 5) { try { op = Integer.parseInt(JOptionPane.showInputDialog("Digite a opção\n" + "1 = Inserir\n" + "2 = Excluir\n" + "3 = Alterar\n" + "4 = Listar\n" + "5 = Sair")); Pessoa a; switch (op) { case 1: while (opt != 5) { opt = Integer.parseInt(JOptionPane.showInputDialog("Digite a opção\n" + "1 = Artista\n" + "2 = Agente\n" + "3 = Evento\n" + "4 = Renumeracao\n" + "5 = Contrato")); switch (opt) { case 1: a = new Artista(); a.cadastro(); break; case 2: break; case 3: break; case 4: break; case 5: break; } } case 2: break; case 3: break; case 4: break; case 5: System.exit(0); break; default: JOptionPane.showMessageDialog(null, "A opção escolhida é inválida. Por favor digite a opcao correcta..."); break; } } catch (Exception e) { JOptionPane.showMessageDialog(null, "A opção escolhida é inválida. Por favor digite a opcao correcta..."); } } } } Obrigado e comprimentos
Primordius Posted December 4, 2012 at 11:31 PM Report #485802 Posted December 4, 2012 at 11:31 PM O objectivo é fazer o que? o listar tem que colocar a "pessoa" num arraylist? e o excluir apaga-lo do arraylist?
LuisM Posted December 4, 2012 at 11:38 PM Author Report #485804 Posted December 4, 2012 at 11:38 PM o objectivo e adicionar, remover, listar num arraylist
HappyHippyHippo Posted December 4, 2012 at 11:47 PM Report #485808 Posted December 4, 2012 at 11:47 PM e onde está esse arraylist ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
LuisM Posted December 4, 2012 at 11:50 PM Author Report #485809 Posted December 4, 2012 at 11:50 PM Esta na class do menu, ArrayList<Pessoa> pessoa = new ArrayList<Pessoa>(); Mas nao sei se este metodo e correcto para fazer. Esto a tentar fazer herança pois o artista e o agente vao ter um nome e um numero fiscal
Primordius Posted December 4, 2012 at 11:52 PM Report #485810 Posted December 4, 2012 at 11:52 PM (edited) O que eu faria, era criar uma class, daria-lhe o nome de BaseDeDados por exemplo, em que esta class apenas terá 1 arrayList de pessoas, e será esta classe que tem os metodos de excluir e listar public class BaseDeDados{ private ArrayList<Pessoa> _listapessoas = new ArrayList<Pessoa>; public void adicionar(Pessoa p){ _listapessoas.add(p); } public void excluir(Pessoa p){ for(Pessoa p1 : _listapessoas) { if(p.getNome().equals(p1.getNome())){ //eleminas do arraylista, nao sei bem como fazer essa parte) break; } } @Override public String toString(){ String s=""; for(Pessoa p : _listapessoas){ s+="Nome é: " + p.getName()........... "\n"; } return s; } } Depois no menu, logo no inicio crias uma instancia de BaseDeDados (BaseDeDados base = new BaseDeDados() 😉 no adicionar, basta fazeres base.adicionar(pessoa);, para exluir, base.excluir(pessoa), e no listar base.toString(); e isto guarda Pessoa e todas as classes que façam extend de pessoa Edited December 8, 2012 at 09:35 PM by apocsantos
LuisM Posted December 5, 2012 at 12:00 AM Author Report #485811 Posted December 5, 2012 at 12:00 AM ok ja percebi obrigado
Primordius Posted December 5, 2012 at 12:01 AM Report #485812 Posted December 5, 2012 at 12:01 AM (edited) se tiveres mais alguma duvida diz, para excluires é melhor usares o numero Fiscal em vez do nome visto so existir um numero fiscal para cada pessoa, já os nomes pode haver muitos iguais Edited December 5, 2012 at 12:03 AM by Primordius
LuisM Posted December 8, 2012 at 09:27 PM Author Report #486320 Posted December 8, 2012 at 09:27 PM (edited) Boa noite, Estou com umas duvida em obter um valor de um objecto class para outra. No trabalho fiz uma class para as variaveis globais onde estao la as arraylist demostrada abaixo. public class Variaveisglobais { public static String[] opcoes = {"1", "2", "3", "4", "5", "6"}; public static String[] opcoes2 = {"1", "2", "3", "4", "5"}; public static int op = 1; public static int ide, idc = 0; public static int menu, submenu, d, m, a,dd,mm,aa; public static ArrayList<Sujeito> artistas = new ArrayList<Sujeito>(); public static ArrayList<Sujeito> agentes = new ArrayList<Sujeito>(); public static ArrayList<Evento> evento = new ArrayList<Evento>(); public static ArrayList<Contrato> contrato = new ArrayList<Contrato>(); } Criei outra class com herança, para criar pessoa e o seu numero fiscal. Esta de mostrado abaixo class public class Pessoa extends Variaveisglobais{ public String nome; public Pessoa() { nome = "sem nome"; } public Pessoa(String nomeInicial) { nome = nomeInicial; } public void setNome(String novoNome) { nome = novoNome; } public String getNome() { return nome; } @Override public String toString() { return ("Nome: " + nome); } public boolean temMesmoNome(Pessoa outraPessoa) { return this.nome.equalsIgnoreCase(outraPessoa.nome); } } heranca public class Sujeito extends Pessoa { public int numfiscal; public Sujeito() { super(); numfiscal = 0; } public Sujeito(String nomeInicial, int numfiscall) { super(nomeInicial); numfiscal = numfiscall; } public int getNumfiscal() { return numfiscal; } public void setNumfiscal(int numfiscall) { numfiscal = numfiscall; } @Override public String toString() { return ("Nome: " + getNome() + " Número Fiscal: " + numfiscal); } } A minha duvida consiste em obter os valor da class Sujeito para class contrato, criando um contrato com um o agente e com um artista, como faço isto. Pois a class do sujeito estao as listas do artistas e dos agentes, e gostaria de obter o nome de um agente e de um artista para poder criar um contrato. por ex: Agente : Luisa Artista : Ana Ja procurei no google e nao encontro nada... Se vocês pudessem me dar exemplos de código agradeço muito. obrgd e comprimentos.... Edited December 8, 2012 at 09:36 PM by apocsantos
HappyHippyHippo Posted December 8, 2012 at 09:54 PM Report #486321 Posted December 8, 2012 at 09:54 PM epa .. isso está uma confusão ... além da estruturação da aplciação não estar correctamente feita 1ª regra de criação de variáveis : declarar-las onde estas são relevantes só isso basta para dizer que pelo aspecto da informação que apresentas, só deverias ter duas variáveis estáticas que seriam de pessoas e eventos. um contacto é informação de uma pessoa, se essa pessoa tiver mais que um contacto, então será uma lsita de contacto, mas não deixa de ser informação associada a uma pessoa, por outras palavras : deverá ser uma variável da classe Pessoa. a estruturação de classes Pessoa e suas derivações está completamente errada. 1º - toda a gente tem número fiscal, a minha filha tinha duas semanas e já tinha NIF, isso não é previlégio de um grupo de Pessoa's a que chamas Sujeito's 2º - A classe Sujeito não faz sentido, qual a diferença entre Pessoa e Sujeito ? 3º - Artista e Agente é que deveriam ser classes derivadas de Pessoa e isto é o início porque não faço ideia do enunciado do trabalho IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now