Ti consiglierei di modificare questo pezzo di codice:

codice:
   stringaLetta=stringaLetta.trim();
   if (!stringaLetta.equals(""))
      finito=true;
   else
      System.out.println(ERRORE_STRINGA_VUOTA);
con:

codice:
   if (stringaLetta!=null && !stringaLetta.trim().equals(""))
      finito=true;
   else
      System.out.println(ERRORE_STRINGA_VUOTA);
Ovviamente sarebbe interessante scoprire se ottenevi una NullPointerException o altro...