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--){