Creo que lo que te falla es algo muy simple.
Fijate en estas lineas que tines
Código:
for(short c = espacios.length(); c >= 0; c--){
El bucle lo realizas una un total de length +1. Tienes que empezar desde espacios.length()-1 ya que este sería el índice del último carácter.
Código:
for(short c = espacios.length()-1; c >= 0; c--){