スキャナーを使用して整数入力を検証し、無効な入力を処理する方法
Java でユーザー入力を操作する場合、数値データの妥当性を確認するプログラムの堅牢性にとって重要です。この記事では、Scanner クラスを使用して有効な整数入力を強制し、数字以外の文字などの無効な入力を適切に処理する方法を説明します。
問題:
次の点を考慮してください。コード:
Scanner kb = new Scanner(System.in); int num1; int num2 = 0; System.out.print("Enter number 1: "); num1 = kb.nextInt(); while(num2 <p>このコードは、ユーザーに 2 つの整数の入力を促し、num2 が大きくなるようにすることを目的としています。 num1よりも。ただし、次の 2 つの課題に直面しています。</p><ol> <li>ユーザー入力が実際に整数であるかどうかを検証しません。これにより、ユーザーが数字以外の文字を入力したときに実行時例外が発生する可能性があります。</li> <li>ユーザーが num1 より小さい値として num2 を入力した場合は処理されません。</li> </ol><p> <strong>解決策:</strong></p><p>これらの課題に対処するには、スキャナーのhasNextInt() メソッド。このメソッドは、入力ストリーム内の次のトークンが整数として解釈できるかどうかを示すブール値を返します。 false が返された場合は、入力が無効であることがわかり、ユーザーに再試行を求めることができます。</p><p>コードの改良版を次に示します。</p><pre class="brush:php;toolbar:false">Scanner sc = new Scanner(System.in); System.out.print("Enter number 1: "); while (!sc.hasNextInt()) sc.next(); int num1 = sc.nextInt(); int num2; System.out.print("Enter number 2: "); do { while (!sc.hasNextInt()) sc.next(); num2 = sc.nextInt(); } while (num2 <p>このコードでは、次のことを確認します。有効な整数を読み取る前に、hasNextInt() を使用してください。入力が無効な場合は、sc.next() を使用して入力を消費し、ユーザーに再度プロンプトを表示します。</p><p><strong>利点:</strong></p>
- 有効な整数のみが有効であることを保証します。
- 無効な入力を適切に処理し、ランタイムを防止します。例外。
- num2 が num1 より大きくなるように強制します。
- 明示的な parseInt() と NumberFormatException のエラー処理の必要性を排除します。
関連質問:
- どうやって無効な入力を無視し、Java Scanner を使用して入力ストリームから次の有効な値を読み取ります?
以上がJava でスキャナーを使用して整数入力を検証し、無効な入力を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

jvm'sperformanceiscompetitivewitherruntimes、sped、safety、andproductivityの提供

javaachievesplatformedentenceTheThejavavirtualMachine(JVM)、avainwithcodetorunonanyplatformwithajvm.1)codescompiledintobytecode、notmachine-specificcode.2)

thejvmisanabstractcomputingMachineCrucialForrunningJavaProgramsDuetoitsPlatForm-IndopentInterChitecture.Itincludes:1)ClassLoaderForloadingClasses、2)Runtimedataareaforforforatastorage、3)executionEngineWithinterter、Jitcompiler、およびGarbagecolfecolfecolfececolfecolfer

jvmhasacloserelationshiptheosasittrantesjavabytecodecodecodecodecodecodecodecodecodecodecodecodecodetructions、manageSmemory、およびhandlesgarbagecollection.thisrelationshipallowsjavatorunonvariousosenvirnments、Butalsedentsはspeedifediferentjvmbeviorhiorsandosendisfredediferentjvmbehbehioorysando

Javaの実装「Write and、Run Everywherewhere」はBytecodeにコンパイルされ、Java仮想マシン(JVM)で実行されます。 1)Javaコードを書き、それをByteCodeにコンパイルします。 2)JVMがインストールされたプラットフォームでByteCodeが実行されます。 3)Javaネイティブインターフェイス(JNI)を使用して、プラットフォーム固有の機能を処理します。 JVMの一貫性やプラットフォーム固有のライブラリの使用などの課題にもかかわらず、Woraは開発効率と展開の柔軟性を大幅に向上させます。

javaachievesplatformentenceTheTheTheJavavirtualMachine(JVM)、CodetorunondifferentoperatingSystemswithOutModification.thejvmcompilesjavacodeplatform-IndopentedbyTecodeを承認することを許可します

javaispowerfulfulduetoitsplatformindepentence、object-orientednature、richstandardlibrary、performancecapability、andstrongsecurityfeatures.1)platformendependenceallowseplicationStorunonaydevicesupportingjava.2)オブジェクト指向のプログラマン型

上位のJava関数には、次のものが含まれます。1)オブジェクト指向プログラミング、サポートポリ型、コードの柔軟性と保守性の向上。 2)例外処理メカニズム、トライキャッチ式ブロックによるコードの堅牢性の向上。 3)ゴミ収集、メモリ管理の簡素化。 4)ジェネリック、タイプの安全性の向上。 5)コードをより簡潔で表現力豊かにするためのAMBDAの表現と機能的なプログラミング。 6)最適化されたデータ構造とアルゴリズムを提供するリッチ標準ライブラリ。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
