はじめに
プログラミング界で最もエキサイティングなテーマパーク、JavaLand 遊園地へようこそ!新しく採用された新人開発者であるあなたの最初の任務は、パークのチケットシステムにおける重要な機能、特定のアトラクション向けの「年齢バリデーター(Age Validator)」の実装を支援することです。
リード開発者が年齢バリデーターの基本構造をすでに構築してくれましたが、例外処理を完成させるためにあなたの力が必要です。あなたのミッションは、無効な年齢が入力されたときにカスタム例外をスローするロジックを実装することです。
このチャレンジに取り組んで、JavaLand 遊園地をすべての人にとってより安全で楽しい場所にする準備はできていますか?さあ、コーディングを始めましょう!
年齢バリデーターの実装を完成させる
この演習では、Java におけるデータ検証(バリデーション)と例外処理の世界に飛び込みます。ユーザー入力の検証は、堅牢で安全なアプリケーションを構築する上で極めて重要な要素です。年齢バリデーターを実装することで、論理的なチェックの設定やカスタム例外の作成に関する実践的な経験を積むことができます。このスキルは、ユーザー登録システムからデータ処理アプリケーションまで、さまざまな分野で不可欠です。それでは、プログラムに年齢チェック機能を組み込んでいきましょう!
タスク
~/projectディレクトリにある、事前に作成されたファイルAgeValidator.javaを開きます。- コード内の
TODOコメントを探してください。 - 年齢が 0 未満、または 120 を超える場合に
InvalidAgeExceptionをスローするロジックを実装します。
要件
AgeValidator.javaファイルが~/projectディレクトリに存在している必要があります。InvalidAgeExceptionクラスはすでに定義されています。validateAgeメソッドを完成させてください:- 年齢が 0 未満の場合、メッセージ "Age cannot be negative" を持つ
InvalidAgeExceptionをスローします。 - 年齢が 120 を超える場合、メッセージ "Age cannot be greater than 120" を持つ
InvalidAgeExceptionをスローします。
- 年齢が 0 未満の場合、メッセージ "Age cannot be negative" を持つ
- コードの他の部分は変更しないでください。
実行例
正しく完了すると、main メソッドを実行した際に以下のような出力が表示されます:
cd ~/project
javac AgeValidator.java
java AgeValidator
出力例:
Age 25 is valid.
InvalidAgeException: Age cannot be negative
InvalidAgeException: Age cannot be greater than 120
まとめ
このチャレンジでは、Java のカスタム例外を使用して、年齢検証システムの主要機能を実装しました。この演習を通じて、Java 例外処理の実験で学んだ以下の重要な概念を再確認しました:
- カスタム例外(Custom Exceptions): 事前に定義されたカスタム例外クラス
InvalidAgeExceptionを使用しました。 - 例外のスロー(Throwing Exceptions): 特定の条件下で例外を発生させるロジックを実装しました。
- 例外メッセージ(Exception Messages): 無効な年齢のシナリオごとに、具体的なエラーメッセージを提供しました。
このチャレンジを完了したことで、Java の基礎スキルを練習しただけでなく、多くの実世界のアプリケーションで共通して使われる実用的な機能を構築しました。年齢検証は、遊園地のアトラクションからオンラインの登録フォームまで、多くのシステムで不可欠な要素です。
例外処理は、コード内のエラー状態をスマートに管理するための Java の強力なツールであることを忘れないでください。JavaLand 遊園地での開発を続けるにあたって、さらにシステムを拡張することもできます:
- アトラクションごとに異なる詳細な年齢チェックを追加する
try-catchブロックを実装してこれらの例外を捕捉し、ユーザーフレンドリーなエラーメッセージを表示する- 複数の基準をチェックする、より複雑なバリデーションシステムを作成する
引き続き、コードの練習と実験を続けてください。例外やエラー処理に慣れれば慣れるほど、あなたの Java プログラムはより堅牢で使いやすいものになります。JavaLand 遊園地での安全で楽しいプログラミングの世界へようこそ!



