Takunojiのプログラミング・プレイグラウンド(遊び場)

「プログラミングのススメ」と学習した結果身につくもの、アイディアを実現するために何をしたら良いか?の答えが出せるようになります。

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にあります。
結論から言うと、使用する変数を変えてやれば、おっけ!という事ですのでしゅしたコードは示しません(笑)

テストコード

開発を行う時に「この処理想定通りに動くかな?」と思うことか多々あります。これを解決するのがテストコードです。今回作成したテストコードでは、入力が計算式なのか判定する正規表現をテストしました。 こんな感じでテストと実装を交互に開発していく方法の事を「アジャイル」などと呼んでいる事が多いですが、世間巷の「人工知能」と同じ様に本来の意味とはずれています(笑)

でわでわ。。。