You are struggling with Scanner and how you expect console input to behave. With console input each data item must be followed by pressing the Enter key. Because Scanner was written to also deal with reading text files they are designed with the ability to put multiple values together on one line. Console input must explicitly forbid this, a task the Scanner was not designed to do.
It is also useful to create some helper methods for console input which encapsulates this concept in order to simplify your application code. Here's an example. The first two promptXXX() methods shouldn't be used but are here so that you can compare their behavior to what you are currently doing.
Note that the constant CONSOLE is created once and used everywhere. Only one Scanner built from System.in should ever be created.