高级Java控制台输入

时间:2011-11-04 16:41:52

标签: java brainfuck esoteric-languages

作为一种自我练习,我在Java中使用BF解释器通过控制台进行I / O操作。在大多数情况下,它很好,但是,正如您可能知道的那样,BF一次输入一个字符,包括换行符。这意味着据我所知,标准控制台输入库将无法工作,因为它们接收整个字符串,然后在最后请求返回。我希望,能够接受适合char 的下一个击键,而不会在键入时打印它。因此,当BF请求输入并输入a时,它会接收a,但不会在控制台中显示它,除非BF程序稍后输出a

我该怎么做?

3 个答案:

答案 0 :(得分:1)

我建议使用JLine http://jline.sourceforge.net

Terminal类有disableEcho()方法可以执行您想要的操作。

答案 1 :(得分:0)

使用框架中的textArea和keyListener

编写自己的控制台输出/输入

答案 2 :(得分:0)

查看java.io.Console - 您可以使用readPassword()读取没有回音的字符串。它仍然是面向行的,因此在用户按Enter键之前不会收到任何内容。另一个可能的缺点是可能没有控制台 - 取决于应用程序的启动方式。