我正在尝试读取用户输入的每个字符,而无需等待“换行符”。
此代码不起作用,因为 AFAIK 扫描仪在将输入发送到应用程序之前等待换行符
Scanner s = new Scanner(System.in);
if(s.hasNext()){
char c = s.next().charAt(0);
}
我也尝试过使用 BufferedReader:
System.out.println("Input something: ");
BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
while(!b.ready()){
try {
Thread.sleep(100);
} catch (Exception e) {
}
}
System.out.println("Now it's ready, i'm reading the first char");
char c = (char)b.read();
但输出是:
Input something:
> abcde
Now it's ready, i'm reading the first char
所以它总是在等待换行符。
有什么方法可以在不等待 Java 换行符的情况下读取用户输入?
谢谢,任何帮助将不胜感激