Buenas weno tengo unda duda ya que debo me pidieron que explique que errorres tiene este codigo solo que no encuentro ninguno ya lo pase a netbeans y no me da error incluso si se ejecuta e imprime algo es por eso que no entiendo por que dic que busque errores alguien nota algun error en el codigo por que yo no le veo ninguno
String arreglo[] = new String[4];
arreglo[0]="a";
arreglo[1]="sistemas";
arreglo[2]="programacion";
arreglo[3]="hola";
try{
String cadena=arreglo[4]; // creo que aqui puede ser error por que no existe cadena pero no me marca error no estoy seguro
}
catch(IndexOutOfBoundsException e){
System.out.println("Hay un error!");
}
}
Pues si hay un error! Lo que pasa es que lo está capturando el catch y mostrando un mensaje en consola! Deberías buscar un poco y leer sobre el manejo de excepciones en Java.
Estás declarando un String de cuatro posiciones las cuales las rellenas con estas lineas:
arreglo[0]="a";
arreglo[1]="sistemas";
arreglo[2]="programacion";
arreglo[3]="hola";
Deberías acostumbrarte que en Java los indices empiezan en 0.
Luego utilizas un bloque try{}catch{} y ejecutas en el catch la siguiente línea:
String cadena=arreglo[4];
Énfasis en arreglo[4], este índice no existe! Por lo tanto se sale de los límites de la estructura. Esta excepción es capturada por:
catch(IndexOutOfBoundsException e)
Y te ejecuta la siguiente línea:
System.out.println("Hay un error!");
Que te muestra eso en consola.
Salu2s
PD: Utiliza las etiquetas GeSHi para publicar código
Tu error está en el try-catch primero debes reservar un espacio para cadena antes de asignarle arreglo[];