ArrayIndexOutOfBoundsException
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?
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?
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.
String [] años = new String[60];
Por cierto, la variable "c", la usas para algo? porque en ese codigo es totalmente inutil.
Un saludo.
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.
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.