ホームページ > Java > &#&チュートリアル > Java のスキャナーで無効な整数入力を確実に処理するにはどうすればよいですか?

Java のスキャナーで無効な整数入力を確実に処理するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-13 13:48:15
オリジナル
916 人が閲覧しました

How Can I Robustly Handle Invalid Integer Input with Java's Scanner?

スキャナーの無効な入力制限の克服

プログラムの堅牢性を強化する試みにおいて、ユーザーは入力を有効な整数値に制限し、数値以外のエントリを処理するという課題に直面しています。人気のあるライブラリである Scanner は、これらのハードルに対する解決策を提供します。

整数入力の検証

Scanner は、次の入力かどうかを検証する hasNextInt() メソッドを提供します。整数として解釈できます。このメソッドは静的なままであり、入力を超えて先に進まないことを意味します。

実装例

hasNextInt() を組み込むと、エレガントなソリューションが可能になります。

Scanner sc = new Scanner(System.in);
System.out.print("Enter number 1: ");
while (!sc.hasNextInt()) sc.next(); // Skips non-numeric input
int num1 = sc.nextInt();
int num2;
System.out.print("Enter number 2: ");
do {
    while (!sc.hasNextInt()) sc.next(); // Skips non-numeric input
    num2 = sc.nextInt();
} while (num2 < num1); // Enforces num2 being greater than num1
ログイン後にコピー

例外入力処理

hasNextXXX メソッドは静的なままであるため、無効な入力からの「ゴミ」を破棄するには next() を呼び出す必要があります。

関連質問

  • [スキャナーが例外を生成しないようにするにはどうすればよいですか?入力タイプが間違っていますか?](https://java.stackexchange.com/questions/2600398/how-do-i-keep-a-scanner-from-throwing-Exceptions-when-the-wrong-type-is-entered)

以上がJava のスキャナーで無効な整数入力を確実に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート