Hola, el problema es que siempre le estás sumando una posición y al momento de usar la función charAt no se verifica si la variable pos tienen un núnmero mayor a la longitud y se está pasando de la longitud.
Por otro lado debes mostrarle lo que tienes a tú profesor y preguntarle si es eso exactamente lo que pide.
Saludos,