当前位置: 首页 > 面试题库 >

无需在控制台中按Enter即可获得按键

高云瀚
2023-03-14
问题内容

我有一个用Java编写的控制台程序,该程序可以响应单键按下,但是用户不按Enter。

我正在打乒乓球,所以需要上下键来移动蝙蝠的东西。

欢迎使用其他方法!(除了制作GUI外)

-编辑:

我将只在UNIX系统(OSX和Linux)上运行程序,因此我可以通过以下方式将终端置于“原始”模式stty raw

当我在运行程序之前在控制台中键入该命令时,它将起作用!但是我需要Java自动执行此操作,因此我尝试了以下操作:

Runtime.getRuntime().exec("stty raw");

而且它什么也没做…可能是因为JVM只是将其作为单独的进程而不是作为此终端内的进程运行。


问题答案:

我认为您不能没有本机代码和JNI。看一下Java
Curses库:http :
//sourceforge.net/projects/javacurses/



 类似资料:
  • 问题内容: 我在中用于与的用户进行交互。 它可以按预期工作,但是用户必须在按“ s”后在外壳中按Enter。有没有一种方法可以通过用户输入来完成我需要的操作,而无需在外壳中按Enter键?我正在使用* nixes机器。 问题答案: 在Windows下,你需要模块,具体来说,从描述问题的方式看来,该模块是: 读取按键并返回结果字符。什么也没有回应到控制台。如果尚未提供按键,则该呼叫将被阻止,但不会等

  • 我有一个windows窗体,我需要当用户按Enter时将焦点设置为下一个控件。任何想法如何实现这一点(不使用关键新闻事件)

  • 我有一个。其中有一个按钮()。我为它编写了单击按钮事件:

  • 从我以前的帖子中,我了解到getchar()只有在我们按Enter键时才会完成。让我们考虑这个代码: 我希望它是这样运行的:我按下某个键1,然后按Enter,然后按下键2,然后按Enter,然后按下键3,然后按下键4,最后按下键5,程序现在应该终止了。这不是实际发生的情况。事情是这样的:我按下某个键1,然后按Enter,然后按下键2,然后按下键3,然后按下Enter,程序最终终止! 为什么最后两个

  • 问题内容: 是否有一种无需尾随换行符即可打印到控制台的方法?该对象的文档并没有说关于任何东西: 用换行符打印到标准输出。该函数可以采用类似的方式接受多个参数。例: 如果在第一个字符串中找不到格式设置元素,则在每个参数上使用格式设置元素。 问题答案: 您可以使用: 有关详细信息,请参阅文档。

  • 问题内容: 我正在使用Selenium Server(v2.21)和SeleniumJavaClient(v.2.21.0)来自动化Web表单,该表单需要在每次输入后都按下键,因为字段是根据输入的值公开的。因此,根据此处的解决方案,我一直在尝试不同的方法以在表单中输入字符串并按-这是我尝试过的方法: 它会 看起来 像这是最合理的解决方案(),但是编译器抛出,如果你不添加一个错误,因为期待一个字符串