2

我正在开发纸牌游戏,我需要从控制台获取用户输入。为此,我使用了 Scanner 类,更具体地说是 nextInt() 方法。但是,如果用户在 60 秒内没有提供选项,系统应该可以随机选择一个。我想知道是否有一种方法可以“取消”先前对方法 nextInt() 的调用,并改用由 Random.nextInt() 生成的调用。

负责它的代码是:

System.out.print("Enter the number of your choice");
option = scanner.nextInt();

我已经阅读了有关使用 GUI 执行此操作的方法,但就我而言,我不打算拥有一个。

谢谢

编辑1:

我一直在对此进行一些研究,我相信监控键盘是否有按键可以解决我的问题,我现在正在研究如何监控键盘并获取按键。任何人都可以帮助我吗?

4

2 回答 2

0

你真的想要一个暂停或只是一种说“电脑选择”的方式吗?解决这个问题的常用方法是让用户输入一个标记值,该值没有有效的答案(如 0 或 -1 等)。

如果您想实现超时,则要复杂得多,并且可能涉及多线程。我建议您阅读这个问题:Is it possible to read from a InputStream with a timeout?

于 2013-09-22T02:42:29.293 回答
0

我不确定这甚至可以在没有 GUI 的情况下完成。如果可以做到,代码将非常复杂。如果我想出办法做到这一点,我会发布它。

于 2013-09-22T02:42:49.340 回答