ERRO: java.lang.ArrayIndexOutOfBoundsException [RESOLVIDO]  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
zedd
Entusiasta Java

Membro desde: 27/01/2011 13:56:54
Mensagens: 17
Offline

Opa opa.. sou novo no forum e estou desenvolvendo uma aplicação com base em alguns estudos mas venho me deparando com um problema bem chato que nao faco a minima ideia de como resolver.

Na aplicacao so esta sendo possivel busca, editar ou remover uma unica vez a cada execucao. Quando executo para efetuar uma segunda busca aparece:



Em alguns foruns vi que isso é ocasionado por causa de estouro do array, mas nao estou sabendo como tratar.

Como poderia corrigir esse chato problema, se eh q eh o estouro do array mesmo, ou o q for.

Obrigado aí!

This message was edited 2 times. Last update was at 01/02/2011 10:57:32

[MSN]
roger_rf
GUJ Master

Membro desde: 29/04/2009 07:40:19
Mensagens: 1091
Localização: Natal/RN
Offline

Inclua a listagem completa do erro, ela é importante para determinar a área da aplicação em que o erro foi disparado.

drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Provavelmente você está iterando sobre uma coleção (list, array, etc) e procurando um índice maior que o existente (como se a list tivesse 2 elementos e você buscasse o nº 3).

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
zedd
Entusiasta Java

Membro desde: 27/01/2011 13:56:54
Mensagens: 17
Offline

roger_rf wrote:Inclua a listagem completa do erro, ela é importante para determinar a área da aplicação em que o erro foi disparado.


Desculpem-me. Segue listagem abaixo e o brigado.

[MSN]
zedd
Entusiasta Java

Membro desde: 27/01/2011 13:56:54
Mensagens: 17
Offline

drsmachado wrote:Provavelmente você está iterando sobre uma coleção (list, array, etc) e procurando um índice maior que o existente (como se a list tivesse 2 elementos e você buscasse o nº 3).


Grande drsmachado, obrigado pelo retorno e meio q entendi o q mencionou, mas como estou chegando agora algumas coisas ainda nao ficam muito claras pra mim. Bom, de qualquer sorte segue trecho de consulta.


[MSN]
drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

A colection em questão é um Vector.
Bem, como disse acima, você está realizando uma consulta dentro de uma estrutura de repetição (ou iteração) do tipo for, while ou do/while.
Mas, em algum momento, existe a chamada ao indice que está maior que o tamanho retornado pelo método size() do objeto em questão.

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
marcelo.bellissimo
Virtual Machine Man

Membro desde: 17/10/2006 14:17:21
Mensagens: 617
Offline

Leia o erro, ele informa que o problema está ocorrendo na sua classe TelaPrincipal, linha 335... posta esse trecho aí...
zedd
Entusiasta Java

Membro desde: 27/01/2011 13:56:54
Mensagens: 17
Offline

marcelo.bellissimo wrote:Leia o erro, ele informa que o problema está ocorrendo na sua classe TelaPrincipal, linha 335... posta esse trecho aí...


Ta aí, chará.


This message was edited 1 time. Last update was at 27/01/2011 14:44:54

[MSN]
marcelo.bellissimo
Virtual Machine Man

Membro desde: 17/10/2006 14:17:21
Mensagens: 617
Offline

Aqui:


Você tá sempre removendo a linha 1, mas nada garante que a mesma exista... não seria o caso de você fazer essa verificação antes?
Ou rever essa lógica... mas o erro está alí...
marcio_gs
JavaEvangelist

Membro desde: 11/08/2008 08:10:37
Mensagens: 497
Offline

Seguinte. Com o código abaixo você queria remover uma linha enquanto a tabela estivesse com linhas, certo?



Porém você manda remover a linha de índice 1, que é a linha 2 da tabela. Lembre-se que a linha 1 será o índice 0, a linha 2 será o índice 1 e assim em diante.
zedd
Entusiasta Java

Membro desde: 27/01/2011 13:56:54
Mensagens: 17
Offline

marcio_gs wrote:Seguinte. Com o código abaixo você queria remover uma linha enquanto a tabela estivesse com linhas, certo?



Porém você manda remover a linha de índice 1, que é a linha 2 da tabela. Lembre-se que a linha 1 será o índice 0, a linha 2 será o índice 1 e assim em diante.


Blz, obrigado mas mesmo alterando o modeloTabela.removeRow para 0 tb da erro.
[MSN]
marcelo.bellissimo
Virtual Machine Man

Membro desde: 17/10/2006 14:17:21
Mensagens: 617
Offline

zedd wrote:
marcio_gs wrote:Seguinte. Com o código abaixo você queria remover uma linha enquanto a tabela estivesse com linhas, certo?



Porém você manda remover a linha de índice 1, que é a linha 2 da tabela. Lembre-se que a linha 1 será o índice 0, a linha 2 será o índice 1 e assim em diante.


Blz, obrigado mas mesmo alterando o modeloTabela.removeRow para 0 tb da erro.


O "erro" nesse caso é usar uma variável para verificar o tamanho de outra coisa.
Se você quer remover linhas da tabela, faça o seguinte:


Vide javadoc para esse método:

This message was edited 1 time. Last update was at 27/01/2011 15:33:53

drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Não entendi essa parte:

O while não itera sobre a tabela enquanto esse valor for > 0?
Sendo assim, acredito que você deve decrementar o tableLinhas e não acrescentar...
Uma sugestão é trocar

por


Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
zedd
Entusiasta Java

Membro desde: 27/01/2011 13:56:54
Mensagens: 17
Offline

marcelo.bellissimo wrote:
zedd wrote:
marcio_gs wrote:Seguinte. Com o código abaixo você queria remover uma linha enquanto a tabela estivesse com linhas, certo?



Porém você manda remover a linha de índice 1, que é a linha 2 da tabela. Lembre-se que a linha 1 será o índice 0, a linha 2 será o índice 1 e assim em diante.


Blz, obrigado mas mesmo alterando o modeloTabela.removeRow para 0 tb da erro.


O "erro" nesse caso é usar uma variável para verificar o tamanho de outra coisa.
Se você quer remover linhas da tabela, faça o seguinte:


Vide javadoc para esse método:


Pronto, resolvido o problema. Muito obrigado marcelo.belissimo, so q agora apareceu outra coisa. A consulta so esta podendo ser executada uma unica vez com exito. Se tento fazer uma nova busca aparece o erro em anexo.
[Thumb - erro.JPG]
 Nome do arquivo erro.JPG [Disk] Download
 Descrição erro
 Tamanho 19 Kbytes
 Baixado:  14 vez(es)

[MSN]
zedd
Entusiasta Java

Membro desde: 27/01/2011 13:56:54
Mensagens: 17
Offline

drsmachado wrote:Não entendi essa parte:

O while não itera sobre a tabela enquanto esse valor for > 0?
Sendo assim, acredito que você deve decrementar o tableLinhas e não acrescentar...
Uma sugestão é trocar

por



Fiz a alteração e corrigiu. obrigado, só que agora estou com outro problema informado acima.
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team