Cita: java.lang.ArrayIndexOutOfBoundsException: 4
Este mensaje quiere decir que estás accediendo al índice 4 de un array y dicho array es más pequeño que eso. Como dice Fuzzylog, los arrays en Java, como en C, empiezan en 0 así que un array de tamaño cuatro sólo tiene los índices del 0 al 3.
Si te fijas bien en el error, te dice hasta la linea donde estas accediendo al array con el índice erroneo, así que tienes mucha información para depurarlo.
S!