Scanner
からの入力がブロックされることなく利用できるかどうかを確認するにはどうすればよいですか?ループ中にスキャナに何かが含まれていないか確認してください
たとえば、以下の方法を検討してください。各ループ反復では、ユーザー入力がある場合はそれを受け入れるが、何も入力されていない場合は入力なしで処理する必要があります。代わりに、reader.nextLine()
は、続行する前にユーザーが行を入力するのを待ちます。
public void creatureCombate() {
while (true) {
Scanner reader = new Scanner(System.in);
String userInput = reader.nextLine();
wait(1);
System.out.println("Wolf attacks");
if(userInput.equals("hit")){
System.out.println("hit wolf");
} else{
System.out.println("Tries again");
}
}
}
そして、あなたの質問は... –
うーん、それは新しいScanerオブジェクトを作成するnessesaryですループが実行されるたびに?そして、@ JoeCが指摘したように、あなたのケースでなぜそれが問題なのですか?私は上記のコードに問題は見られませんか? –
親切に問題の詳細を提供してください – Uzair