2

私はカード ゲームに取り組んでおり、コンソールからユーザー入力を取得する必要があります。そのために、私は Scanner クラス、具体的には nextInt() メソッドを使用しています。ただし、ユーザーが 60 秒以内にオプションを提供しない場合、システムはランダムに 1 つを選択できる必要があります。以前に行われた nextInt() メソッドへの呼び出しを「キャンセル」し、代わりに Random.nextInt() によって生成されたものを使用する方法があるかどうかを知りたいです。

それを担当するコードは次のとおりです。

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

GUIを使用してそれを行う方法について読んだことがありますが、私の場合、それを使用する予定はありません.

ありがとう

EDIT1:

私はこれについていくつかの調査を行っており、押されたキーのキーボードを監視することで問題が解決すると信じています。現在、キーボードを監視して押されたキーを取得する方法を見つけることに取り組んでいます。誰でもそれで私を助けることができますか?

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 に答える