Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con array...

Estas en el tema de Problema con array... en el foro de Java en Foros del Web. Hola, como va?... Bueno les comento hace poco que empiezo con java y tengo un problema, que seguramente no va a ser demasiado complicado para ...
  #1 (permalink)  
Antiguo 09/01/2008, 19:17
Avatar de RastonE  
Fecha de Ingreso: diciembre-2005
Ubicación: [ARG] [localhost]
Mensajes: 72
Antigüedad: 18 años, 4 meses
Puntos: 0
Problema con array...

Hola, como va?... Bueno les comento hace poco que empiezo con java y tengo un problema, que seguramente no va a ser demasiado complicado para uds...

La cosa es simple, estoy leyendo un archivo, con el siguiente formato
Nombre Apellido # Tipo # Direccion # Iva # Cuit
Logro leerlo y dividir las palabras, lo hago de esta forma,
palabra = linea.split("#");
y ahi voy pasando cada palabra a un constructor
Segun el tipo, osea particular o empresa, creo el objeto y los tengo que poner en un array de objetos de Cliente...

Mi problema y con el que me estoy volviendo loco es que me da el siguiente error:

Código:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
        at examen.Datos.cargarDatos(Datos.java:69)
        at examen.TestFacturacion.main(TestFacturacion.java:28)
Java Result: 1
Y no se como solucionarlo
Espero que me puedan dar una mano, cualquier otra cosa que vean que este mal me avisan por favor

Muchas gracias por leer (si llegaron aca)!!!
__________________
Solo se que no se nada

Musica solo en Descarga Directa | Luca Prodan

Última edición por RastonE; 10/01/2008 a las 14:15
  #2 (permalink)  
Antiguo 10/01/2008, 01:23
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Problema con array...

ArrayIndexOutOfBoundsException quiere decir que estas leyendo una posicion de un array que no existe. Por ejemplo si intentas leer la cuarta posicion de un array de 3 elementos.

En este caso, en la linea 69 de tu clase estas intentando leer la primera posicion de un array que parece estar vacio.

S!
  #3 (permalink)  
Antiguo 10/01/2008, 11:48
Avatar de RastonE  
Fecha de Ingreso: diciembre-2005
Ubicación: [ARG] [localhost]
Mensajes: 72
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Problema con array...

Si eso lo se, GreenEyed...Es lo que no entiendo! Yo le doy el tamaño de 15 lugares aca...

Código:
     String[] palabra;
        palabra = new String [num*5];
Y el error de la linea 69 es,

Código:
if(j == 3){
        direccion = (String)palabra[1];}
No entiendo por que :
__________________
Solo se que no se nada

Musica solo en Descarga Directa | Luca Prodan
  #4 (permalink)  
Antiguo 11/01/2008, 02:13
R4Y
 
Fecha de Ingreso: julio-2005
Mensajes: 7
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Problema con array...

No estoy seguro de esto pero creo que no deberias asignarle el tamaño como
lo haces, yo lo haria algo así:

String[] palabra;
palabra = new String [num*5];


de ahi quitas la segunda linea, es decir, no le indiques el tamaño ya que lo tomara automaticamente dependiendo del numero de palabras y solo dejas:

palabra = linea.split("#");

y verifica su tamaño antes de tratar de consultar un indice que no existe con:

palabra.length()

Saludos.

Raymundo León G.
  #5 (permalink)  
Antiguo 11/01/2008, 03:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Problema con array...

Cita:
Iniciado por R4Y Ver Mensaje
No estoy seguro de esto pero creo que no deberias asignarle el tamaño como
lo haces, yo lo haria algo así:

String[] palabra;
palabra = new String [num*5];


de ahi quitas la segunda linea, es decir, no le indiques el tamaño ya que lo tomara automaticamente dependiendo del numero de palabras y solo dejas...
Si no le indicas el tamaño y no lo creas con el constructor, lo que obtendras es un NullPointerException, fijo. Los arrays en Java no crecen dinamicamente a medida que les añades elementos, es lo hacen las colecciones. Además, length es un atributo de los arrays, no un metodo, así que es palabra.length, sin los parentesis. Quizá te hayas confundido con List o Vector.

En cuanto al error original... si num es 0, el array tendra tamaño cero y saltara el error, por ejemplo.

S!
  #6 (permalink)  
Antiguo 11/01/2008, 19:46
Avatar de RastonE  
Fecha de Ingreso: diciembre-2005
Ubicación: [ARG] [localhost]
Mensajes: 72
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Problema con array...

GreenEyed, gracias por contestar, como decis tengo que declarar el tamaño del array si no seria imposible...

Ahora ya resolvi el problema! gracias por las respuesta. paso a explicar...
La funcion split lo que haces es crear un array a partir de un String segun una marca de corte por ej.

hola#como#estan?

si utilizo la funcion split("#") a ese String lo que obtendria seria un array de 3 posiciones con
[0]hola
[1]como
[2]estan?

yo estaba utilizando mal la funcion por eso me ocurria el NullPointerException, llama a una posicion del array que simplemente no existia por lo que mencione antes...

Espero que le sirva a alguien
Slds!
__________________
Solo se que no se nada

Musica solo en Descarga Directa | Luca Prodan
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:33.