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…
import java.util.ArrayList;
import javax.swing.JOptionPane;
import java.util.Iterator;
public class Agencia{
String dadosProjeto = "";
private ArrayList <Projeto> projetos;
public Agencia(){
projetos = new ArrayList<>();
}
public void inserirProjeto(){
String titulo = JOptionPane.showInputDialog("Título do projeto: ");
double orcamento = Double.parseDouble(JOptionPane.showInputDialog("Orçamento do projeto: "));
String duracao = JOptionPane.showInputDialog("Duração do projeto(meses): ");
String instituicao = JOptionPane.showInputDialog("Insituição: ");
String areaPesq = JOptionPane.showInputDialog("Área relacionada a pesquisa: ");
int codProjeto = Integer.parseInt(JOptionPane.showInputDialog("Código do projeto: "));
Projeto novoProjeto = new Projeto(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";
}
public void listarProjetos(){
JOptionPane.showMessageDialog(null, "======================PROJETOS======================\n\n\n" + dadosProjeto);
}
public int buscaCodigoProjeto(int codProjeto){
for(int i = 0; i < projetos.size(); i++){
Projeto projeto = projetos.get(i);
if(projeto.getCodProjeto() == codProjeto){
return i;
}
}
return -1;
}
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:
package provi;
public class ItemProjeto {
private String titulo; // = "Título do projeto:";
private double orcamento; //= 10;
private String duracao; // = "Duração do projeto(meses): ";
private String instituicao; // = "Insituição: ";
private String areaPesq; // = "Área relacionada a pesquisa: ";
private int codProjeto; // = 4;
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public double getOrcamento() {
return orcamento;
}
public void setOrcamento(double orcamento) {
this.orcamento = orcamento;
}
public String getDuracao() {
return duracao;
}
public void setDuracao(String duracao) {
this.duracao = duracao;
}
public String getInstituicao() {
return instituicao;
}
public void setInstituicao(String instituicao) {
this.instituicao = instituicao;
}
public String getAreaPesq() {
return areaPesq;
}
public void setAreaPesq(String areaPesq) {
this.areaPesq = areaPesq;
}
public int getCodProjeto() {
return codProjeto;
}
public void setCodProjeto(int codProjeto) {
this.codProjeto = codProjeto;
}
}
codigo da Classe Projeto:
package provi;
import java.util.ArrayList;
import java.util.List;
public class Projeto {
private List<ItemProjeto> projetos = new ArrayList<ItemProjeto>();
public void adicionarProjeto(ItemProjeto itemProjeto) {
/*adiciona projeto na lista de projetos adicionando somente se
esse objeto não existir na lista. */
if (!projetos.contains(itemProjeto)) {
projetos.add(itemProjeto);
}
}
public void limpar(){
projetos.clear(); //limpa toda a lista
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public List<ItemProjeto> listarProjetos() {
return new ArrayList(projetos);
}
}
codigo da Classe AgenciaControle para executar e testar o exemplo:
package provi;
import java.util.Iterator;
public class AgenciaControle {
/*
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();
}
*/
public static void main(String[] args){
Projeto projeto = new Projeto();
// projeto.limpar(); exemplo para limpar a lista
//adicionando primeiro projeto na lista
ItemProjeto itemProjeto = new ItemProjeto();
//String titulo = JOptionPane.showInputDialog("Título do projeto: ");
String titulo = "Título do projeto 1";
itemProjeto.setTitulo(titulo);
//double orcamento = Double.parseDouble(JOptionPane.showInputDialog("Orçamento do projeto: "));
double orcamento = 10;
itemProjeto.setOrcamento(orcamento);
//String duracao = JOptionPane.showInputDialog("Duração do projeto(meses): ");
String duracao = "12 meses ";
itemProjeto.setDuracao(duracao);
//String instituicao = JOptionPane.showInputDialog("Insituição: ");
String instituicao = "nome Insituição ";
itemProjeto.setInstituicao(instituicao);
//String areaPesq = JOptionPane.showInputDialog("Área relacionada a pesquisa: ");
String areaPesq = "Área 1 ";
itemProjeto.setAreaPesq(areaPesq);
//int codProjeto = Integer.parseInt(JOptionPane.showInputDialog("Código do projeto: "));
int codProjeto = 1;
itemProjeto.setCodProjeto(codProjeto);
projeto.adicionarProjeto(itemProjeto);
//adicionando um segundo projeto na lista
itemProjeto = new ItemProjeto();
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()) {
ItemProjeto item = (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());
}
}
}
}