Java - ArrayIndexOutOfBoundsException:

 
Vista:
sin imagen de perfil
Val: 27
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

ArrayIndexOutOfBoundsException:

Publicado por jose (12 intervenciones) el 25/03/2020 05:17:03
Hola,estoy haciendo un programa que me codifique contraseñas y estoy teniendo un problema en la parte en la que me decodifica el archivo:

1
2
3
4
5
6
7
8
9
10
11
12
13
int Vuelta=0;
int VueltaPass=0;
while (Vuelta<=Tamanyo){
	txtint[Vuelta]=txtint[Vuelta]-pass[VueltaPass];
	if(txtint[Vuelta]<-128){
	txtint[Vuelta]=txtint[Vuelta]+255;
	}
	Vuelta++;
	VueltaPass++;
	if (VueltaPass>=NumeroLetrasContra){
		VueltaPass=0;
	}
}
Esta es la parte que me da problemas,concretamente en la linea "txtint[Vuelta]=txtint[Vuelta]-pass[VueltaPass];" me da el array index exception al ejecutar el programa, pero por mas vueltas que le doy no soy capaz de ver donde cometo el error.
El array txtint guarda el contenido del archivo en forma de integer. pass hace lo mismo con la contraseña.
Agradecería que alguien pudiera decirme que hago mal,si se necesita mas informacion puedo poner el programa entero sin problemas.

P,D:Se que el programa es muy chusco, es el primer programa que hago después de los de ejemplo que mire por youtube.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ArrayIndexOutOfBoundsException:

Publicado por Rodrigo (623 intervenciones) el 25/03/2020 12:24:32
No deberia ser
1
while (Vuelta < Tamanyo){
?

Si se ingresa al ciclo con Vuelta = Tamanyo, vas a acceder a un indice mas alla de los limites del arreglo, supongo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

ArrayIndexOutOfBoundsException:

Publicado por jose (12 intervenciones) el 25/03/2020 19:24:06
Tienes razón, ese "=" sobra pero lo he quitado y sigue dando la excepción.
Voy a probar a poner esas mismas lineas en un programa más pequeño a ver si a base de darle vueltas lo arreglo.
Muchas gracias por tu respuesta, Rodrigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ArrayIndexOutOfBoundsException:

Publicado por Rodrigo (623 intervenciones) el 25/03/2020 21:17:21
Revisa como estas calculando los tamanos, lo que no se muestra en el codigo que publicaste.
Si estas calculando un tamano mas grande de lo que los arreglos son realmente, tendras la excepcion que aparece.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

ArrayIndexOutOfBoundsException:

Publicado por jose (12 intervenciones) el 25/03/2020 21:29:57
Lo que hago es mirar cuanto ocupa tanto el archivo como la contraseña y esos valores los guardo en las variables "tamanyo" y "NumeroLetrasContra". para usarlos en el while. Voy a revisar a ver si hice algo raro con esos valores.
Gracias de nuevo :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

ArrayIndexOutOfBoundsException:

Publicado por jose (12 intervenciones) el 26/03/2020 19:00:04
Ya me funciona, lo que fallaba era que en la parte en la que pone
1
if (VueltaPass>=NumeroLetrasContra){
debería poner
1
if (VueltaPass>==(NumeroLetrasContra-1)){
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar