我有一个客户/服务器游戏,用户轮流给游戏输入。我希望用户输入任何内容,而不会被忽略。我只想扫描用户提示后的输入。我正在使用java.util.Scanner进行输入,但是我找不到在程序挂起的情况下“刷新”扫描仪缓冲区的方法。我也找不到其他输入阅读方法做我想做的事情的例子。如何清除输入缓冲区以忽略提示之前给定的输入?
这是我的尝试:
Scanner in = new Scanner(System.in);
//do game stuff
//I don't care about anything typed at this time
while(in.hasNextLine()){
in.nextLine();
}
System.out.println("Enter your move:");
String input = in.nextLine();
没有使用无缓冲的终端io(使用本机库)来做你想做的事的方法。 –
@ElliottFrisch嗯我认为有办法做到这一点,因为这是一项家庭作业的具体要求。多谢 – 3802400
这是一个多线程应用程序?你怎么知道什么时候轮到你了? –