gpt4 book ai didi

java一次读取控制台上按下的每个键

转载 作者:行者123 更新时间:2023-11-30 04:04:35 25 4
gpt4 key购买 nike

第一次提问

我想要的是一种每次用户按下控制台上的按键时都会发生某些操作的方法。就像,当他输入一个单词时,我希望在每次按键时打印一个由他已经按下的所有键组成的字符串,并连接到新按下的键。如:

一个

您输入:a

b

您输入:ab

c

您输入:abc

您输入:abcd

e

您输入:abcde

我尝试使用以下代码来执行此操作:

try (BufferedReader input = new BufferedReader(
new InputStreamReader(System.in, "UTF-8"))) {
char c = 0;
String s = "";
while( (c = (char) input.read() ) != 13) {
s += c;
System.out.println("You typed: " + s);
}
}

我得到了我想要的,但就在我按下 Enter 键之后,而不是在控制台上按下每个键时:

foobar

您输入:f

您输入:fo

您输入:foo

您输入:foob

您输入:fooba

您输入:foobar

提前致谢。

最佳答案

这个问题好像有人问过。看起来共识是修改 System.in 在不同平台上是不同的,为了做你想做的事情,你需要将终端从“行”模式更改为“字符”模式。

看看Here .

关于java一次读取控制台上按下的每个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21069857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com