hasNextInt()APIを読み終えても、このコードではまだ失われています。スキャナhasNextInt()hasNextInt()に何もない場合はtrueを返します
Scanner input = new Scanner(System.in);
while (input.hasNextInt()) {
input.next();
}
なぜ入力に何もないのにループが開始します。また、hasNextInt()APIには、
が入力されていません。
これは何を意味しますか?そしてそれはそれと関係がありますか?
そのAPIのみ(のhasNextには適用されません)とありませんか()?また、通話をブロックするための良い記事がありますか?私が読んでいる本は、通話をブロックすることについて何も言及していません。 – Davidh3
hasNext *()を持つ関数。私。 hasNextLong()、hasNextByte()、hasNextShort()はwhileループ内で最初の呼び出しを行うと呼び出しをブロックします。ここで、端末に入力として「12 hello」と入力すると、ループが一回ループしてからループするまでに時間がかかることがあります。理由はhasNext *()が最初の空白まで読み込まれ、そのintが2番目のループで文字列に遭遇するかどうかをチェックするため、hasNextInt()はfalseを返し、ループを破ります。私は通話をブロックするための専用の本はないと思いますが、ほとんどのIO関連の呼び出しは、Java NIOライブラリを持っていなければ通話をブロックしています – printfmyname