一种创建没有扫描类的Java菜单的方法?

时间:2016-03-01 17:21:46

标签: java

无论如何都不使用扫描仪类在Java中创建菜单?因此,只要按下一个字母或数字,它就会运行代码而不按Enter键。

2 个答案:

答案 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之前不会刷新。