問題
ユーザーに整数を入力させ、その整数をバイト型(byte)にキャストし、オーバーフローまたはアンダーフローが発生するかどうかを確認し、結果を表示するプログラムを書いてください。
ヒント
- Scannerを使ってユーザーから整数を入力するためのScannerオブジェクトを作成します。
- ユーザーに整数を入力するように促し、入力値を読み取ります。
- 読み取った整数をbyte型にキャストします。
- キャスト前後の値が等しいかどうかを比較して、オーバーフローまたはアンダーフローが発生したかどうかを確認します。
- 結果を表示します。
「オーバーフロー」「アンダーフロー」とは
「オーバーフロー(Overflow)」と「アンダーフロー(Underflow)」は、主に数値型(整数型や浮動小数点型)のデータが特定の範囲を超えたり未満になったりした場合に発生する問題です。
詳しい解説は「解答例」で。
→解答例