Exception de Array

15 respostas
A

pow ta dando esse erro qunado tento fazer esse for ae

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 27

alguem sabe o ki eh ?

int[] fator;

			fator		=	new int [codigo.length()-1];
			produto		=	new int [codigo.length()-1];
			
			for (int i = fator.length; i > 0; i--){
				if (i == fator.length)
					fator[i]	=	1;
				else
				{
					if (fator[i+1] ==  2)
						fator[i]	=	1;
					else
						fator[i]	=	2;
				}
					
			}

[color="red"]Editado: Favor não colocar o nome de assunto com muitas caracteres.

Alterado para: Exception de Array
Antigo: java.lang.ArrayIndexOutOfBoundsException

Obrigado, Reifel.[/color]

15 Respostas

C

tente assim:

fator = new int [codigo.length()]; produto = new int [codigo.length()];

:joia:

A

assim num funcionou nao… coisa eskizita!!!

fator cannot be resolved
produto cannot be resolved

C

posta o codigo inteiro por favor.

A
public int fBoletoLinhaDigitavel(String codigo){


			int divisor			=	0;

			fator		=	new int [codigo.length()-1];
			produto		=	new int [codigo.length()-1];
			
			for (int i = fator.length; i > 0; i--){
				if (i == fator.length)
					fator[i]	=	1;
				else
				{
					if (fator[i+1] ==  2)
						fator[i]	=	1;
					else
						fator[i]	=	2;
				}
					
			}
}
C

o que esse método faz ?

A

bem ele calcula a linha digitavel do boleto…

e me retorna um numero inteiro

ele recever uma string do tipo 22542256324552452584558 ai faz uns calculos …

C

coloca a sua String em um array de chars q fica bem + simples pra tu trabalhar :joia:

A

pow +++ ai eh cruel pq eu so quero saber o tamanho da string nada mais :frowning:

C

tp.. entao testa isso...

public int teste(String str) {
   int retorno = 0;

   int[] x = new int[str.length()];

   for(int i=0;i<x.length;i++)
      x[i] = Integer.parseInt(x.subString(i,i+1));

   // agora vamos supor que o seu int retornado é a soma de todos os     
   //elementos do array X
   for(int j=0;j<x.length;j++)
      retorno += x[j];

   return retorno;

Eu não testei o código, mas e essa a intenção rsr

A

blz o teu funcionou +++++++++++ uma coisa q percebi eh q qunado eu faco

String str = "123456789123456789";   
	int retorno = 0;

	   int[] x = new int[str.length()];
	   
	 [b] for(int i = x.length; i &gt; 0; i--)[/b]
	      x[i] = 1;
// agora vamos supor que o seu int retornado é a soma de todos os

//elementos do array X

for(int j=0;j<x.length;j++)

retorno += x[j];
C

tu quer “echer” o array de traz pra frente ?

tp…

str = “123465789”;

deixar ele

987654321 ?

A

ESKECE ISSO AHUHUAHUAHU

EU FIZ ASSIM PEGUEI O LENGTH -1 NO FOR…

C

Entao podemos fechar a dúvida :?:

A

eu me contentei com esse gatilho

C

:joia:

Criado 1 de junho de 2006
Ultima resposta 2 de jun. de 2006
Respostas 15
Participantes 2