Java Console Game〜四足計算と文字列〜
イントロダクション
前回は四足計算をやりました。前提としてゲームループの中で「hello」か「数式(四足計算)を入力した時にそれぞれの処理を行い、コンソールに出力します。
詳細はこちらです。
続、四足計算
前回のプログラムには問題がありました。それは、「割り算」です。
割り算の場合、割り切れない場合があります。この場合は少数を使う必要があり今迄使用していた「int型」では少数を使う事が出来ません。少数を使う場合は「double型」を使います。他にも少数を使えるデータ型 はありますが、ひとつずつ確実に進むのが一番早いので、いっぺんにやりません。
データ型の違い
JavaプログラムではC言語と同じ記号を使います。「/」スラッシュを使って計算します。4/2=2の様にコードでは
double ans = 4 / 2;の様に書きます。この場合、ansには「2.0」が入ります。int型で初期化した場合→
int ans = 4 / 2;ansには「2」が入ります。
同様に次の様にコーティングします。
int ans = 4 / 3;この場合はansに1が入ります。割った結果の整数部分のみがセットされます。
double ans = 4 / 3;
この時はansに1.333 ...が入ります。
実装を修正する
今回の問題になっている「割り算の結果に少数が出ない」部分を解消します。
現状のソースはGitにあります。
結論から言うと、使用する変数を変えてやれば、おっけ!という事ですのでしゅしたコードは示しません(笑)
テストコード
開発を行う時に「この処理想定通りに動くかな?」と思うことか多々あります。これを解決するのがテストコードです。今回作成したテストコードでは、入力が計算式なのか判定する正規表現をテストしました。 こんな感じでテストと実装を交互に開発していく方法の事を「アジャイル」などと呼んでいる事が多いですが、世間巷の「人工知能」と同じ様に本来の意味とはずれています(笑)
でわでわ。。。