【发布时间】:2017-02-28 04:15:17
【问题描述】:
我有一个客户端/服务器游戏,用户轮流为游戏提供输入。我希望用户在轮到他们时输入的任何内容都被忽略。我只想扫描用户在提示后提供的输入。我正在使用 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 嗯,我认为有办法做到这一点,因为这是家庭作业的特定要求。不过谢谢
-
这是一个多线程应用程序吗?你怎么知道什么时候轮到你?
标签: java io buffer java.util.scanner