(Java) 如何在不按“enter”键的情况下获取用户输入

Dan*_*ick 8 java input switch-statement instant

我很好奇,想用 java 测试这种类型的东西。我在网上查了一下,并没有真正找到任何对我发现的问题有帮助的东西;所以我决定自己去问。

在我写的示例中,您将获得几个选项,并获得用户输入,然后使用 switch 语句根据用户输入发生一些事情。发生什么并不重要,因为我试图弄清楚如何在不必按 Enter 的情况下获取用户输入。

因此,例如,如果用户必须在 1、2、3、4 或 5 之间进行选择,那么当用户按“2”时,程序会立即读取该输入,而无需按 Enter 键。有什么办法可以做到这一点吗?我也在 Windows 10 上使用 cmd(不过,当我在 NetBeans 上做一个项目时考虑过这一点,我认为这应该不会产生影响)。

提前致谢!

小智 -6

你可以这样做:

import java.io.IOException;

public class MainClass {

public static void main(String[] args) {
    int inChar;
    System.out.println("Enter a Character:");
    try {
        inChar = System.in.read();
        System.out.print("You entered ");
        System.out.println(inChar);
    }
    catch (IOException e){
        System.out.println("Error reading from user");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

所以命令

System.in.read()

将读取用户输入的字符。

  • 在按下回车键之前什么都不会发生。OP 希望在按下按键时立即读取。 (4认同)