ArrayIndexOutOfBoundsException

naya
01 de Febrero del 2005
Esto es lo que tengo:

String[] años={""};
int c=1;
try {
for (int i = 1940; i < 2000; i++) {
años[i] = String.valueOf(i);
c++;
}
} catch (Exception e) {
System.out.println(e);
}

Necesito meter esos valores, que son años, en un Array de String para luego pasarlo a un JComboBox y que un usuario escoja su año de nacimiento. Es el bucle de toda la vida y me da esta excepción. Podrían ayudarme?

milon
01 de Febrero del 2005
Estas intentando meter objetos en un array de 0 posiciones, está mal inicializado. Ya que sabes cuantos numeros quieres meter (de 1940 a 2000), crea el array de esta forma:
String [] años = new String[60];
Por cierto, la variable "c", la usas para algo? porque en ese codigo es totalmente inutil.
Un saludo.

milon
01 de Febrero del 2005
Se me pasó decirte, que pongas el bucle for de esta forma, por ejemplo:
int anios=1940;
for(int i=0; i < 60; i++)
{
valores[i] = String.valueOf(anios);
anios++;
}
Porque segun lo tienes tu, intentará acceder a la posicion 1940 del array, lo que provocará que salte otra vez la excepción. Mas o menos así valdría, comprueba los limites del array.

naya
01 de Febrero del 2005
Muchas gracias. Lo he hecho mil veces y siempre se me atragantan los arrays. La variable c era el índice del array, pero con las pruebas (inútiles) en el código lo he copiado mal. Gracias de nuevo. Salu2.