ポリモーフィズムでいろいろなクイズ問題の
組み合わせに対応するプログラムが書けました
別のQuestion型を作りましょう
NumericQuestionクラスはユーザに
数値を答えてもらいます
例えば半径1の円の面積はいくつかを尋ねます
答えはもちろんπですが入力は難しいでしょう
ユーザが正確なπの値を入力するのは不可能です
ご存じのとおりこの値すら正確ではありません
永遠に数字が続くからです
ユーザが覚えている桁によって
例えば3.14もしくは3.14159などと
入力すれば大丈夫です
どちらの答えも正解です つまり正確な値から
±0.01の範囲であればユーザの答えは正解です
他のNumericQuestionクラスでは
これとは異なる許容範囲が設定できます
次にこの新しいQuestion型を実装しましょう
コンストラクタは
用意したのでsetAnswerとcheckAnswerの
メソッドを実装してください
checkAnswerメソッドは許容範囲を考慮すべきです
与えられた数値がパラメータresponseより
離れすぎていないかを調べます
厳密に言うとパラメータresponseは文字列なので
数値に変換しますがその方法がこれです
インスタンス変数の追加も必要でしょう
それはここに入れてください
では実装してみましょう