Qual e o erro?

bom galera tava querendo excluir uma determinada posição numa ArrayList…se a posiçao nao existe-se dava um erro so que esse erro naum ta dando…essa e minha duvida o porque do erro naum aparecer?

else if(opcao.equals("3")) { //EXCLUIR                                                                            
   numero=Integer.parseInt(JOptionPane.showInputDialog(null, "Qual o numero do produto  que vai ser excluido->"));
   if (listaPedido.remove(numero-1) != null) //excluir                                                            
    JOptionPane.showMessageDialog(null, "Excluido com Sucesso!", "Atenção",JOptionPane.WARNING_MESSAGE);          
   else                                                                                                           
    JOptionPane.showMessageDialog(null, "Produto Não Encontrado!", "Atenção",JOptionPane.WARNING_MESSAGE);        
  }

Agora nao tenho nada aqui para programar, sempre vou para computadores que tem o java instalado a noite. Mas pelo que eu pude perceber, voce nao esta mandando excluir nada. :shock:

 else if(opcao.equals("3")) { //EXCLUIR                                                                              
     numero=Integer.parseInt(JOptionPane.showInputDialog(null, "Qual o numero do produto  que vai ser excluido->"));  
     if (listaPedido.remove(numero-1) != null) //excluir, aqui voce esta fazendo um teste de condicao que eu acredito nao estar muito certo.                                                             
         JOptionPane.showMessageDialog(null, "Excluido com Sucesso!", "Atenção",JOptionPane.WARNING_MESSAGE);            
     else                                                                                                             
       JOptionPane.showMessageDialog(null, "Produto Não Encontrado!", "Atenção",JOptionPane.WARNING_MESSAGE);          
     }  

Nao conheco o resto do codigo, e nem em que classe esta o array e tals. Precisaria disso para dar uma corrijida melhor. Mas pelo que pude entender, o codigo deveria ser assim:

 else if(opcao.equals("3")) { //EXCLUIR                                                                              
     numero=Integer.parseInt(JOptionPane.showInputDialog(null, "Qual o numero do produto  que vai ser excluido->"));  
     if (listaPedido.remove(numero-1) != null){ //Abre chaves pois o if tera mais que uma instrucao.
         listaPedido.remove(numero-1);//Agora sim voce esta chamando o metodo que remove a array                                                             
         JOptionPane.showMessageDialog(null, "Excluido com Sucesso!", "Atenção",JOptionPane.WARNING_MESSAGE);}//fecha a chave do if            
     else                                                                                                             
       JOptionPane.showMessageDialog(null, "Produto Não Encontrado!", "Atenção",JOptionPane.WARNING_MESSAGE);          
     }

Cara, agora eu acho que ele ja vai escluir, mas estou em duvidas, com o teste que voce esta fazendo la em:

 if (listaPedido.remove(numero-1) != null)

Tu podia trocar essa chamada ao metodo pela posicao da array. Ex:

if(array[numero-1] != null)//trocando o array pelo nome da sua array.

Se isso nao funcionar, posta o codigo da array e as classes em que cada pedaco se encontra.
Acho que é isso, qualquer duvida so perguntar!
Flws :wink:

vc deve ter certeza se o numero da lista ( array) que vc esta tentando excluiir esta realmente na lista.
Seria bom se colcoasse um trecho de código mais especifico, e não apenas a parte da mensagem, pra podermos ver como vc esta fazendo o procedimento.

IndexOutOfBoundsException
Este erro pode aparecer se ele for < 0 ou >= tamanho da lista.

ou você passa um objetect para ser removido da lista e o mesmo vai retornar um true se a lista conter este elemento!

Abraço!

b

e esse primeira solução que me deram nao deu certo e o pior nem excluio nem o objeto que existe…vamo galera mi da u força ai…falta so esta parte de codigo…