今回はJavaの分岐を学ぶために、おみくじプログラムを作成・分解していきます。
プログラミングはほとんど分岐とループで出来ていると言っても過言ではないので、とても重要な内容になります。理解できるように頑張りましょう。
目次
乱数プログラムの仕様
まずはどのような仕組みを作るのかを理解してから取り組むことがとても大切になります。
おみくじプログラムの仕様は以下の通りです。
1.「乱数」を使って0~9の整数を取得する
2.取得した整数によっておみくじの結果を変え、その結果を出力する
結果:0 ⇒ 「大吉」
結果:1 or 2 ⇒ 「中吉」
結果:3~5 ⇒ 「吉」
結果:6 or 7 ⇒ 「小吉」
結果:8 or 9 ⇒ 「凶」
作りたいシステムの仕様を考えて言語化したり文字にしてまとめてみると、どのようなコードを書くことで実現できるのかを整理できるのでおすすめです。今回のプログラムではかなり単純で簡単な内容にまとめることができました。
ここからは実際にコードを書いていきましょう。上記の手順に沿って細分化しながらプログラムしていこうと思います。
1.「乱数」を使って0~9の整数を取得する
まずは「乱数」を使って0~9の整数を取得しましょう。
Javaにおいては、乱数の出力にMathクラスのrandomメソッドを利用します。
randomメソッドはdouble型の0.0~1.0未満の乱数を返します。今回は同じdouble型の変数aに格納することにしましょう。
double a = Math.random();
randomメソッドの戻り値は0.0~1.0未満なので、そのままでは使い勝手が悪いです。仕様に沿った形で進めるには0~9の整数を得るための処理が必要になります。
また新たにint型の変数bをつくり、さきほどの変数aを10倍して格納します。
int b = (int)(d * 10);
double型をint型に変換することで、実数だった値を整数に変えることができます。これで0~9の整数をbという変数に格納することができました。
2.取得した整数の値に応じておみくじの結果を変え、その結果を出力する
ここからが今回のプログラムの肝となります。分岐を用いて取得した整数の値に応じておみくじの結果を変え、結果を出力するコードを書いていきましょう。
まずは分岐を実現するif文について学びます。
分岐を実現するif文
if文はどのプログラミング言語でも使われ、分岐を実現する便利な機能です。
設定した条件次第で結果をきめ、状況に応じてそのあとに続く処理を分けることができます。
if ( 条件式1 ) { 条件式1がtrueのときに実行する処理 } else if ( 条件式2 ) { 条件式2がtrueのときに実行する処理 } else { その他のときに実行する処理 }
・「条件式1」に当てはまる場合は「条件式1がtrueのときに実行する処理」を実行
・「条件式2」に当てはまる場合は「条件式2がtrueのときに実行する処理」を実行
・「条件式1」「条件式2」のどちらにも当てはまらない場合は「その他のときに実行する処理」を実行
上記のような流れでプログラムは進むことになります。とてもシンプルですね。
ちなみに「else if」によって分岐される回数に制限はありません。分岐のなかに分岐を入れることも可能なので、色々試してみてください。
分岐を用いておみくじの結果を変え、その結果を出力する
ここからは実際におみくじの処理を作っていきます。
今回のおみくじプログラムは分岐を用いて作るので、上記で説明したif文を使います。再度、仕様を確認しておきましょう。
結果:0 ⇒ 「大吉」
結果:1 or 2 ⇒ 「中吉」
結果:3~5 ⇒ 「吉」
結果:6 or 7 ⇒ 「小吉」
結果:8 or 9 ⇒ 「凶」
すでに乱数を使って0~9の整数を取得できるようになっているので、取得した整数の値に応じて出力する結果を変えるプログラムを書いていきます。
if (b == 0) { /* 「大吉」を出力する処理 */ } else if (b == 1 || b == 2) { /* 「中吉」を出力する処理 */ } else if (b >= 3 && b <= 5) { /* 「吉」を出力する処理 */ } else if (b == 6 || b == 7 ) { /* 「小吉」を出力する処理 */ } else { /* 「凶」を出力する処理 */ }
変数bは0~9の整数が格納されているので、上記のプログラムでは取得した乱数の値に応じておみくじの結果を分岐できます。ちなみに「||」や「&&」は論理演算氏と言われるもので、「または」「かつ」と覚えておきましょう。
加えて値を出力する(画面に表示する)ためのコードを書いたら今回のおみくじプログラムは完成です。
if (b == 0) { System.out.println("「大吉」"); } else if (b == 1 || b == 2) { System.out.println("「中吉」"); } else if (b >= 3 && b <= 5) { System.out.println("「吉」"); } else if (b == 6 || b == 7 ) { System.out.println("「小吉」"); } else { System.out.println("「凶」"); }
System. out.println(“~”) は、文字列 “~” を画面に出し改行するという命令です。
これでおみくじプログラムの作成が終了しました。
分岐はプログラムの基本中の基本
今回は分岐を学ぶために乱数を使ったおみくじプログラムを作成しましたが、いかがでしたでしょうか?
仕様をしっかり確認してから順番にコードを書くことで、そこまで難しくなかったのではないかを思います。
プログラミング初心者の方はまずif文を使いこなして、分岐を自由自在に操れるようになりましょう。
コメントを残す