Tho*_*sen 7 java console-application direction arrow-keys
我正在努力寻找一种在控制台窗口中实现基本箭头键移动的方法.我遇到过一个只使用switch语句和一些变量的C#脚本,但我的老师坚持使用Java.
从其他一些主题来看,答案似乎都说在Java中是不可能的,除非你安装了某些(如果我错了,请纠正我)"框架",如JNA和/或Jline,但作为一个初学者,我不知道那些东西甚至是什么意思.
现在在你说我的老师是一个白痴,因为我认为我们可以做到这一点,他从来没有说过它必须是箭头键运动,我只是觉得它很酷:)
这比看起来更困难,主要是因为 Java 跨平台的工作方式。从键盘读取的基本解决方案是使用 stdin,如下所示:
InputStream in = System.in;
int next = 0;
do {
next = in.read();
System.out.println("Got " + next);
} while (next != -1);
Run Code Online (Sandbox Code Playgroud)
现在,有两个问题:
箭头键没有 ascii 代码,而是有所谓的转义序列,具体取决于所使用的终端模拟器,因此在我的 Mac 上,如果我运行上面的代码并按向上箭头,然后按返回键,我会得到以下输出:
Got 27 // escape
Got 91
Got 65
Got 10 // newline
Run Code Online (Sandbox Code Playgroud)没有好的独立于平台的方法可以解决这个问题,如果您只针对 unix 平台,javacurses可能会有所帮助。
| 归档时间: |
|
| 查看次数: |
554 次 |
| 最近记录: |