コンソール入力に何かが書き込まれているかどうかを確認するにはどうすればよいですか? コードは続きますが、私が書くと、何か新しいことが起こりますか? 出来ますか?
Scanner k2sk;
k2sk = new Scanner(System.in);
k2sk.nextLine();
しかし、コードは私が何かを書くまで待機します
コンソール入力に何かが書き込まれているかどうかを確認するにはどうすればよいですか? コードは続きますが、私が書くと、何か新しいことが起こりますか? 出来ますか?
Scanner k2sk;
k2sk = new Scanner(System.in);
k2sk.nextLine();
しかし、コードは私が何かを書くまで待機します
ユーザー入力を待ちたいが、同時にそれを待ちたくない場合は、その義務を別の に割り当てるだけThread
です。
ここに短い例を示しました。役に立つことを願っています。
import java.util.Scanner;
public class TestInput {
public static void main(String[] aa)
{
new Thread(new T1()).start();
System.out.println("MOVED FURTHER");
}
public static class T1 implements Runnable
{
public void run() {
Scanner k2sk;
k2sk = new Scanner(System.in);
k2sk.nextLine();
System.out.println("DONE");
}
}
}
入力を読み取った後もスレッドを実行し続けたい場合は、別のスレッドを専用にして入力 を非同期で読み取ることをお勧めします。