【Java】乱数を使ったおみくじプログラムで分岐を学ぶ【初心者向け】

乱数を使ったおみくじプログラム

今回はJavaの分岐を学ぶために、おみくじプログラムを作成・分解していきます。

プログラミングはほとんど分岐とループで出来ていると言っても過言ではないので、とても重要な内容になります。理解できるように頑張りましょう。

乱数プログラムの仕様

まずはどのような仕組みを作るのかを理解してから取り組むことがとても大切になります。

おみくじプログラムの仕様は以下の通りです。

おみくじプログラムの仕様

1.「乱数」を使って0~9の整数を取得する
2.取得した整数によっておみくじの結果を変え、その結果を出力する
  結果:0 ⇒ 「大吉」
  結果:1 or 2 ⇒ 「中吉」
  結果:3~5 ⇒ 「吉」
  結果:6 or 7 ⇒ 「小吉」
  結果:8 or 9 ⇒ 「凶」

 

作りたいシステムの仕様を考えて言語化したり文字にしてまとめてみると、どのようなコードを書くことで実現できるのかを整理できるのでおすすめです。今回のプログラムではかなり単純で簡単な内容にまとめることができました。

ここからは実際にコードを書いていきましょう。上記の手順に沿って細分化しながらプログラムしていこうと思います。

【アイキャッチ】クラスとインスタンス

【Java】金運を占うプログラムでクラスとインスタンスを学ぶ【Randomメソッド】

2021年1月18日

1.「乱数」を使って0~9の整数を取得する

まずは「乱数」を使って0~9の整数を取得しましょう。

Javaにおいては、乱数の出力にMathクラスのrandomメソッドを利用します。

randomメソッドはdouble型の0.0~1.0未満の乱数を返します。今回は同じdouble型の変数aに格納することにしましょう。

double a = Math.random();
double型とは
64ビットの実数を格納するための型

 

randomメソッドの戻り値は0.0~1.0未満なので、そのままでは使い勝手が悪いです。仕様に沿った形で進めるには0~9の整数を得るための処理が必要になります。

また新たにint型の変数bをつくり、さきほどの変数aを10倍して格納します。

int b = (int)(d * 10);
int型とは
32ビットの整数を格納するための型

 

double型をint型に変換することで、実数だった値を整数に変えることができます。これで0~9の整数をbという変数に格納することができました。

【アイキャッチ】足し算プログラム

【Java】変数を使って足し算の結果を表示するプログラム【変数あり・なしで比較】

2021年1月11日

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文を使いこなして、分岐を自由自在に操れるようになりましょう。

【アイキャッチ】Eclipseの導入

【Java】開発環境を準備するためEclipseの導入とIDE(統合開発環境)の説明

2021年9月16日

コメントを残す

メールアドレスが公開されることはありません。