私はクライアント/サーバーゲームを持っており、ユーザーはゲームに入力を交互に与えます。ユーザーのタイプが無視されるべきでないときには、ユーザーが入力したいものがすべて必要です。私は、ユーザーが入力を求められた後に入力したものだけをスキャンしたい。入力用に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うーん、それは宿題のための特定の要件なので、それを行う方法があると仮定しました。おかげで – 3802400
これはマルチスレッドアプリですか?あなたのターンはいつどのように分かりますか? –