This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Menu question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Menu question" Watch "Menu question" New topic

Menu question

John Powell

Joined: Nov 13, 2004
Posts: 11
In the following program the user has a simple menu with 3 choices. Two choices (a & b) will run specific methods and the final choice will quit the program. Is there a simple way to ask the user to press a key (once the called method is done) to return to the main menu, rather than returning automatically?

Joel McNary

Joined: Aug 20, 2001
Posts: 1824

From a command line, you can't get press ANY key, but you can do press ENTER to continue.

The reason that you can't do any key is that doesn't actually get anything from the commandline until enter is pressed.

Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.
Sonny Gill
Ranch Hand

Joined: Feb 02, 2002
Posts: 1211

That got me interested...after a bit of googling, this is what I can find -

I'll interpret that to mean that you want to be able to read from without waiting for the user to press enter - is that right?
If so, it's your OS console, not Java's buffering of that
prevents it, and consequently unbuffering (alone) won't let
you do it.

On unix-like platforms, you can use "stty -icanon min 1" to change
console mode so you can do character-at-a-time input. On other
operating systems, I have no idea.

I tried a few different combinations of input streams, only after using 'stty -icanon min 1' can I read input without waiting for an 'Enter'. This is on linux.

Is this kind of 'unbuffered' input from console enabled by default on windows? I remember writing C programs to read standard input without waiting for an 'Enter' on windows systems.
I agree. Here's the link:
subject: Menu question
It's not a secret anymore!