elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Class ArrayIndexOutOfBoundsException : error [codigo]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Class ArrayIndexOutOfBoundsException : error [codigo]  (Leído 1,677 veces)
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Class ArrayIndexOutOfBoundsException : error [codigo]
« en: 13 Noviembre 2015, 15:45 pm »

Saludos a todos.

tengo una duda tengo en mi codigo un arreglo que me da el error del titulo pero el arreglo que tengo es de 5  * 5 entonces no se por que me da error que dice que estoy accediendo  a un indice que esta fuera de rango por favor si alguien me puede aconsejar seria un exito.. dejo el codigo.

Código
  1.  
  2.  
  3.  
  4. TileMap(String s,int size)
  5. {
  6. tilesize = size;
  7. try
  8. {
  9.  
  10. mapwidth = Integer.parseInt(br.readLine());
  11. mapheight = Integer.parseInt(br.readLine());
  12. System.out.printf("width [%d], height[%d]",mapwidth , mapheight);
  13.  
  14. map = new int[mapheight][mapwidth];
  15. System.out.printf("Lenght [%d}",map.length);
  16.  
  17.  
  18.  
  19. String del = " ";
  20.  
  21. for(int row = 0;row < map.length ;row++ )
  22. {
  23. String line = br.readLine();
  24. String[] tokens = line.split(del);
  25. System.out.printf("Tokens [%s]\n", tokens);
  26.  
  27.  
  28.  
  29.  
  30.  
  31.                              ///for(int col = 0; col < mapheight; col++)
  32.                               for(int col = 0; col < map[row].length; col++)
  33. {
  34. System.out.printf("[%d],",Integer.parseInt(tokens[col]));
  35.  
  36.                                            ///eclipse me redirecciona aqui.
  37.                                          map[row][col] = Integer.parseInt(tokens[col]);
  38. }
  39. System.out.printf("\n");
  40.  
  41. }
  42. br.close();
  43. }catch(Exception e)
  44. {
  45. e.printStackTrace();
  46. }
  47.  
  48. }
  49.  
  50. public void update()
  51. {
  52.  
  53. }
  54.  
  55. public void draw(Graphics2D g)
  56. {
  57. for(int row = 0; row < map.length; row++)
  58. {
  59. for(int col= 0; col < map[row].length; col++)
  60. {
  61. int rc = map[row][col];
  62. if(rc == 0)
  63. {
  64. g.setColor(Color.BLACK);
  65. }
  66. if(rc == 1)
  67. {
  68. g.setColor(Color.RED);
  69. }
  70. g.fillRect(x+col *tilesize, y + row * tilesize, tilesize, tilesize);
  71. }
  72. }
  73.  
  74.  
  75. }
  76.  
  77.  
  78.  
  79.  
  80. }
  81.  
  82.  
  83.  


Gracias por los consejos.


En línea

gracias por responder mis dudas
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Class ArrayIndexOutOfBoundsException : error [codigo]
« Respuesta #1 en: 14 Noviembre 2015, 20:17 pm »

¿Qué línea tira la excepción?

Edito: Acabo de leer el comentario.

Código
  1. Integer.parseInt(tokens[col]);
tokens[col] es la posibilidad que veo. En ningún lugar compruebas que tokens vaya a tener un tamaño mayor o igual a mapHeight.


« Última modificación: 14 Noviembre 2015, 20:21 pm por ivancea96 » En línea

bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: Class ArrayIndexOutOfBoundsException : error [codigo]
« Respuesta #2 en: 15 Noviembre 2015, 22:57 pm »

es en esa linea pero el tamano es fijo.


for(int col = 0; col < map[row].length; col++)

for(int col = 0; col < mapheight; col++)
En línea

gracias por responder mis dudas
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Class ArrayIndexOutOfBoundsException : error [codigo]
« Respuesta #3 en: 16 Noviembre 2015, 00:32 am »

Saca por consola el tamaño del array tokens.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error de código
.NET (C#, VB.NET, ASP)
doggyinline 9 9,747 Último mensaje 12 Abril 2008, 22:01 pm
por elmaro
Descompilar .class y ver su codigo fuente
Java
cyberserver 4 20,672 Último mensaje 18 Noviembre 2008, 19:07 pm
por joseprox
Error en Nautilus-data. Codigo de salida error 1.
GNU/Linux
lilo. 2 4,876 Último mensaje 29 Enero 2011, 03:49 am
por RyogiShiki
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines