Из Javadoc:
Находит и возвращает следующий полный токен с этого сканера.Полному токену предшествует ввод, соответствующий шаблону-разделителю.
Как писал Jens , проблема в том, что пробел ("") является терминатором токена, и это означает, что scan.next () получает только первое слово.Если разделитель был, скажем, тире ("-"), это работало бы с scan.next ().В любом случае, scan.nextLine () - это то, как вы хотите прочитать строку текста.