如何从Java中的类Scanner“取消”方法nextInt

时间:2013-09-22 02:34:59

标签: java input console java.util.scanner

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

负责的代码是:

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

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

由于

EDIT1:

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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