Hola
Existen las clases InputStreamReader y la clase BufferedReader para lograr que se obtengan valores del usuario. como te interesa Scanner éstas no las comento más.
Supongo que se debe a que no le has dado ningún delimitador a los tokens (trozos de frase).
Lo que creo que solucionaría esto sería el siguiente código:
Scanner obj_scanner = new Scanner(System.in).
useDelimiter("/n");
Lo que se hace es que se le asigna como delimitador el salto de línea (/n) para que lea cada vez que tú pulsas enter
Ojalá te sirva y personalmente te recomiendo usar InputStreamReader, me da mejores resultados y más opciones de manipulación de streams