Y ya que estamos con el tema, otra forma de pedir entradas por teclado. No es lo más elegante, pero funcionar funciona  

: 
import java.io.*;
public class TestEntradaTeclado {
    public static void main (String [] args){
        System.out.println ("Empezamos el programa");
        System.out.println ("Por favor introduzca una cadena por teclado:");
        String entradaTeclado = "";
      while (true) { //Bucle que se repite indefinidamente hasta que se produce una salida forzada por un break
      try {
        int tmp = System.in.read (); /*System.in se considera una forma poco elegante e ineficiente
        de pedir entradas por teclado; pero funcionar funciona*/                
        if (tmp == 10) break; //10 es el valor numérico de la tecla enter en código ascii
        char c = (char) tmp;      //Transformamos el entero tmp en un char
        entradaTeclado = entradaTeclado + c;           //Ampliamos la cadena mientras no sea un enter
        }  catch (IOException e) {
        //No establecemos tratamiento de errores
    }    
         } //cierre del while
        System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");
} 
}