switchの使い方(入力値をもとに星座を判定する)
例題:
受け取った8桁の生年月日を表す数字をもとに、星座を判定する。
入力値チェックを行うこと。
・星座判定クラス
受け取った引数をもとに、以下の処理を行う。
①バリデーションチェック
②星座を判定
(日付が不正な場合はメッセージを表示して処理終了)
※2月以降は省略
・バリデーションチェッククラス
年、月、日をそれぞれチェック
桁が8桁がチェック
上記に適さない場合メッセージを表示して処理終了
・メインクラス
星座判定クラスのメソッドを呼び出す
注:
今回はメインクラスから引数を与えたので数値のチェックのみだが、場合によっては
半角英数字のチェックまで行う必要がある。
きになる:
1.日付チェックをバリデーションチェックと星座判定の2か所でやっているのが綺麗じゃない。
星座判定だけやればいいか!?!?
2.dateとcalendarのちがい
インプットだけだと効率が悪いので、例題を考えてみた。
最初dateでswitch文書こうとしてエラー出た。スイッチ文にdate使えないんだっけ・・・