0

我的意图是显示一个字母并让用户键入该字母,而在他们按下相应的键(无论是对还是错)之后,然后显示下一个键。目前,我只能在按下键然后按下回车键之后才能实现这一点,以便它完成scanner.next()方法。有什么方法可以自动输入回车键,以便我可以扫描字符字母,然后自动继续下一个随机生成的字符?让我知道是否需要对此进行澄清。

//some initialized code here
for(int i = 0; i < 5; i++)
{
int letterToDisplay = rand.nextInt(26)
System.out.printf("%s\r\n", letters[letterToDispaly]);

**String inputLetter = scanner.next();**

if(intputLetter.exquals(letters[letterToDisplay]))
{
letterCounter(letterToDisplay);
}
}
//some methods etc. here

谢谢,

凯尔 P。

4

1 回答 1

0

没有可移植的方式使用标准 API 从控制台逐字符读取用户输入;例如,Unix 终端默认是行缓冲的,这意味着操作系统不会将字符传输到应用程序的缓冲区中,直到用户按下回车键。即使从标准 C 也无法做到这一点

你需要运行特定于操作系统和终端的代码来实现这一点,理想情况下包装在一个库中,就像这里讨论的那样:什么是一个好的 Java,类似curses,终端应用程序库?

更好的选择是使用图形用户界面。现在已经不是 1970 年代了;)

于 2013-09-22T20:40:27.233 回答