Galera, meu Arraylist possui projetos, e cada projeto tem seus atributos (um deles: código do projeto)
Eu quero o usuário consiga buscar um projeto digitando um código de projeto, e seja feita uma busca pelo arraylist do projeto correspondente.ao código digitado…
importjava.util.ArrayList;importjavax.swing.JOptionPane;importjava.util.Iterator;publicclassAgencia{StringdadosProjeto="";privateArrayList<Projeto>projetos;publicAgencia(){projetos=newArrayList<>();}publicvoidinserirProjeto(){Stringtitulo=JOptionPane.showInputDialog("Título do projeto: ");doubleorcamento=Double.parseDouble(JOptionPane.showInputDialog("Orçamento do projeto: "));Stringduracao=JOptionPane.showInputDialog("Duração do projeto(meses): ");Stringinstituicao=JOptionPane.showInputDialog("Insituição: ");StringareaPesq=JOptionPane.showInputDialog("Área relacionada a pesquisa: ");intcodProjeto=Integer.parseInt(JOptionPane.showInputDialog("Código do projeto: "));ProjetonovoProjeto=newProjeto(titulo,orcamento,duracao,instituicao,areaPesq,codProjeto);projetos.add(novoProjeto);dadosProjeto+="********************************\nTítulo: "+titulo+"\nOrcamento: "+orcamento+"\nDuracao (meses): "+duracao+"\nInstituicao: "+instituicao+"\nÁrea de pesquisa: "+areaPesq+"\nCódigo do Projeto: "+codProjeto+"\n\n********************************\n";}publicvoidlistarProjetos(){JOptionPane.showMessageDialog(null,"======================PROJETOS======================\n\n\n"+dadosProjeto);}publicintbuscaCodigoProjeto(intcodProjeto){for(inti=0;i<projetos.size();i++){Projetoprojeto=projetos.get(i);if(projeto.getCodProjeto()==codProjeto){returni;}}return-1;}
ClasseMain//Criar o array//Adicionar os projetos//Percorrer o array comparando a propriedade codigo com o que foi digitado
elanod
Boa tarde amigo fiz um exemplo, com a solução do teu problema . você tera que adaptar o codigo a sua necessidade e organize os nome das classe do jeito que quiser sugiro refaça este exemplo do jeito que esta faça rodar e depois adpte o codigo a sua necessidade
codigo da Classe ItemProjeto:
packageprovi;publicclassItemProjeto{privateStringtitulo;// = "Título do projeto:";privatedoubleorcamento;//= 10;privateStringduracao;// = "Duração do projeto(meses): ";privateStringinstituicao;// = "Insituição: ";privateStringareaPesq;// = "Área relacionada a pesquisa: ";privateintcodProjeto;// = 4;publicStringgetTitulo(){returntitulo;}publicvoidsetTitulo(Stringtitulo){this.titulo=titulo;}publicdoublegetOrcamento(){returnorcamento;}publicvoidsetOrcamento(doubleorcamento){this.orcamento=orcamento;}publicStringgetDuracao(){returnduracao;}publicvoidsetDuracao(Stringduracao){this.duracao=duracao;}publicStringgetInstituicao(){returninstituicao;}publicvoidsetInstituicao(Stringinstituicao){this.instituicao=instituicao;}publicStringgetAreaPesq(){returnareaPesq;}publicvoidsetAreaPesq(StringareaPesq){this.areaPesq=areaPesq;}publicintgetCodProjeto(){returncodProjeto;}publicvoidsetCodProjeto(intcodProjeto){this.codProjeto=codProjeto;}}
codigo da Classe Projeto:
packageprovi;importjava.util.ArrayList;importjava.util.List;publicclassProjeto{privateList<ItemProjeto>projetos=newArrayList<ItemProjeto>();publicvoidadicionarProjeto(ItemProjetoitemProjeto){/*adiciona projeto na lista de projetos adicionando somente se esse objeto não existir na lista. */if(!projetos.contains(itemProjeto)){projetos.add(itemProjeto);}}publicvoidlimpar(){projetos.clear();//limpa toda a lista}@SuppressWarnings({"unchecked","rawtypes"})publicList<ItemProjeto>listarProjetos(){returnnewArrayList(projetos);}}
codigo da Classe AgenciaControle para executar e testar o exemplo:
packageprovi;importjava.util.Iterator;publicclassAgenciaControle{/* private Projeto proje; public Projeto getProje() { return proje; } public AgenciaControle(){ proje = new Projeto(); * } *//*exibe os projetis do carrinho retornando em uma list @SuppressWarnings("rawtypes") public List getProjetos(){ //System.out.println("listando projetos"); return proje.listarProjetos(); } */publicstaticvoidmain(String[]args){Projetoprojeto=newProjeto();// projeto.limpar(); exemplo para limpar a lista//adicionando primeiro projeto na lista ItemProjetoitemProjeto=newItemProjeto();//String titulo = JOptionPane.showInputDialog("Título do projeto: ");Stringtitulo="Título do projeto 1";itemProjeto.setTitulo(titulo);//double orcamento = Double.parseDouble(JOptionPane.showInputDialog("Orçamento do projeto: "));doubleorcamento=10;itemProjeto.setOrcamento(orcamento);//String duracao = JOptionPane.showInputDialog("Duração do projeto(meses): ");Stringduracao="12 meses ";itemProjeto.setDuracao(duracao);//String instituicao = JOptionPane.showInputDialog("Insituição: ");Stringinstituicao="nome Insituição ";itemProjeto.setInstituicao(instituicao);//String areaPesq = JOptionPane.showInputDialog("Área relacionada a pesquisa: ");StringareaPesq="Área 1 ";itemProjeto.setAreaPesq(areaPesq);//int codProjeto = Integer.parseInt(JOptionPane.showInputDialog("Código do projeto: "));intcodProjeto=1;itemProjeto.setCodProjeto(codProjeto);projeto.adicionarProjeto(itemProjeto);//adicionando um segundo projeto na lista itemProjeto=newItemProjeto();itemProjeto.setTitulo("Título do projeto 2 ");itemProjeto.setOrcamento(20);itemProjeto.setDuracao("6 meses");itemProjeto.setInstituicao("Insituição 2 ");itemProjeto.setAreaPesq("Área 2");itemProjeto.setCodProjeto(2);projeto.adicionarProjeto(itemProjeto);/*fazendo pesquisa e retornando resultado da pesquisa*/Iterator<?>itensProjeto=projeto.listarProjetos().iterator();while(itensProjeto.hasNext()){ItemProjetoitem=(ItemProjeto)itensProjeto.next();if(item.getCodProjeto()==2){System.out.println("CodProjeto: "+item.getCodProjeto());System.out.println("Título: "+item.getTitulo());System.out.println("Orçamento: "+item.getOrcamento());System.out.println("Duração: "+item.getDuracao());System.out.println("Instituição: "+item.getInstituicao());System.out.println("Area: "+item.getAreaPesq());}}}}
pmlm3 likes
O post tem mais de 4 anos. Nesta altura ou ele já sabe fazer isto de olhos fechados ou já desistiu da área há muito tempo
elanod1 like
agora que vi a data do post. tinha aparecido para mim, e não prestei atenção na data. e pensei que tinha sido postado recentemente
staroski1 like
De vez em quando isso acontece com meu usuário também, aparecem posts antigos, como se fossem novos.
gpd38
Mesmo antigo, hoje tem uma resposta válida o que pode ajudar outras pessoas que estão entrando na área ao invés de repetir as mesmas perguntas