无论如何都不使用扫描仪类在Java中创建菜单?因此,只要按下一个字母或数字,它就会运行代码而不按Enter键。
答案 0 :(得分:1)
不,这是不可能的,至少在Java 8之前。在标准的JDK API中,有一个隐式缓冲区只有当用户按下ENTER时才可用于你的程序(或者某些管道或文件重定向做了相同的事情)
有些库可以解决这个问题,但据我所知,他们都需要在内部使用JNI。两个例子:
我过去使用过JLine并取得了成功。
答案 1 :(得分:0)
原则上:
public class PressAKey {
public static void main(String[] args) throws IOException {
int x = System.in.read();
System.out.println("You pressed " + (char) x);
}
}
在实践中,这不起作用 - 正如@Akira指出的那样,有一个缓冲区在按下enter之前不会刷新。