我正在开发纸牌游戏,我需要从控制台获取用户输入。为此,我使用的是Scanner类,更具体地说是nextInt()方法。但是,如果用户在60秒内没有提供选项,系统应该能够随机选择一个。我想知道是否有办法“取消”先前调用方法nextInt()并使用Random.nextInt()生成的调用。
负责的代码是:
System.out.print("Enter the number of your choice");
option = scanner.nextInt();
我已经阅读了有关使用GUI进行此操作的方法,但就我而言,我并不打算使用GUI。
由于
EDIT1:
我一直在对此进行一些研究,我相信监控按键的键盘可以解决我的问题,我现在正在研究如何监控键盘并获得按键。任何人都可以帮我吗?
答案 0 :(得分:0)
你真的想要一个时间或只是一种说“电脑选择”的方式吗?通常的做法是让用户输入一个标记值,该值没有有效的答案(如0或-1等)。
如果你想实现一个超时,它会复杂得多,可能涉及多线程。我建议你阅读这个问题:Is it possible to read from a InputStream with a timeout?
答案 1 :(得分:0)
我不确定这是否可以在没有GUI的情况下完成。如果可以做到,代码就会变得非常复杂。如果我想办法做到这一点,我会发布它。