Não estou conseguindo remover objetos de um ArrayList, eu já criei alguns métodos, um deles busca um projeto pelo código do projeto, e encontra, porém não consigo remover pela posição do projeto encontrado…
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 void buscarProjeto(){
int buscaCod = Integer.parseInt(JOptionPane.showInputDialog("Código projeto: "));
for(int i = 0; i < projetos.size(); i++){
if(projetos.get(i).getCodProjeto() == buscaCod){
JOptionPane.showMessageDialog(null, "++++ PROJETO ENCONTRADO ++++\nTítulo: " + projetos.get(i).getTitulo() + "\nOrçamento: " + projetos.get(i).getOrcamento() + "\nDuração: " + projetos.get(i).getDuracao() + "\nInstituicao: " + projetos.get(i).getInstituicao() + "\nÁrea relacionada: " + projetos.get(i).getAreaPesq() + "\nCódigo Projeto: " + projetos.get(i).getCodProjeto() + "\n\n\n ENTER para adicionar dados do novo projeto");
projetos.remove(projetos.get(i));
String titulo = JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nTítulo: ");
double orcamento = Double.parseDouble(JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nOrçamento do projeto: "));
String duracao = JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nDuração do projeto(meses): ");
String instituicao = JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nInsituição: ");
String areaPesq = JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nÁrea relacionada a pesquisa: ");
int codProjeto = Integer.parseInt(JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nCódigo do projeto: "));
Projeto novoProjeto = new Projeto(titulo, orcamento, duracao, instituicao, areaPesq, codProjeto);
projetos.add(novoProjeto);
}
}
}
public void buscaPorCodigo(){
int buscaCod = Integer.parseInt(JOptionPane.showInputDialog("Código do projeto p/ remover: "));
for(int i = 0; i < projetos.size(); i++){
if(projetos.get(i).getCodProjeto() == buscaCod){
JOptionPane.showMessageDialog(null, "++++ PROJETO ENCONTRADO ++++\nTítulo: " + projetos.get(i).getTitulo() + "\nOrçamento: " + projetos.get(i).getOrcamento() + "\nDuração: " + projetos.get(i).getDuracao() + "\nInstituicao: " + projetos.get(i).getInstituicao() + "\nÁrea relacionada: " + projetos.get(i).getAreaPesq() + "\nCódigo Projeto: " + projetos.get(i).getCodProjeto());
}
}
}
public void buscaRemove(){
int buscaCod = Integer.parseInt(JOptionPane.showInputDialog("Código do projeto p/ remover: "));
for(int i = 0; i < projetos.size(); i++){
if(projetos.get(i).getCodProjeto() == buscaCod){
projetos.get(i);
projetos.remove(i);
JOptionPane.showMessageDialog(null, "Projeto removido.");
}
}
}
}
import javax.swing.JOptionPane;
public class AgenciaApp{
public static void main(String args[]){
int menu;
Agencia agencia = new Agencia();
do {
menu = Integer.parseInt(JOptionPane.showInputDialog("=-=-=-=-= AGENCIA DE PROJETOS =-=-=-=-=\n 1. Inserir um novo projeto;\n 2. Listar todos os projetos;\n 3. Atualizar a avaliação do projeto;\n 4. Excluir um projeto;\n 5. Listar um projeto pelo número; \n 6. Sair."));
if(menu == 1){
agencia.inserirProjeto();
}
if(menu == 2){
agencia.listarProjetos();
}
if(menu == 3){
agencia.buscarProjeto();
}
if(menu == 4){
agencia.buscaRemove();
}
if(menu == 5){
agencia.buscaPorCodigo();
}
if(menu == 6){
System.exit(0);
}
}while(menu != 1 || menu != 2 || menu != 3 || menu != 4);
}
}