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 +"\"");
}
}