Java - Exception

 
Vista:
sin imagen de perfil
Val: 29
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Exception

Publicado por Francisco Tomás (15 intervenciones) el 23/11/2019 22:48:17
Hola a todos y de nuevo gracias por todo ayuda.

foto3

foto4

foto5


Llevo con esta excepción un buen rato pero no que me quiere decir, yo mi método lo bien , a ver si alguién pudiera aclararme el por que de esto.
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 Lawliet
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Exception

Publicado por Lawliet (303 intervenciones) el 23/11/2019 23:00:20
Hola!

Ese error se debe a que quieres acceder a una posición que supera el tamaño de tu arreglo; es decir, supongamos que tienes un arreglo como esto.

1
2
3
[0] Valor 1
[1] Valor 2
[2] Valor 3

Si yo intento buscar la posición 3, va a tronar el programa debido a que la última posición que tiene es el 2. Recordemos que el 0 forma parte de la posición de los arreglos por lo que aunque nosotros sabemos que el tamaño del arreglo es 3 ya que tenemos tres valores, los indices funcionan de diferente forma por ello cuando queramos recorrer un arreglo lo mejor es hacerlo de la siguiente forma.

1
2
3
for(int i = 0; i < (miArreglo.lenght - 1); i++) {
	System.out.println(miArreglo[i]);
}

Al restar uno al tamaño del arreglo nosotros nos aseguramos que nuestro ciclo no se pase con algún indice que no exista.

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 29
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Exception

Publicado por Francisco Tomás (15 intervenciones) el 23/11/2019 23:27:34
Muchas gracias por la ayuda, había probado tanto con .lenght como expresando el límite numericamente, pero lo del "- 1" no se me había ocurrido.
Con eso ya me funciona perfectamente, de nuevo muchas por tu ayuda.
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