分岐のプログラム その7 [Java]
前回はswitchを使った分岐のプログラムについて説明しました。
switchを使うことにより、if elseで書いた時に長くなりがちなコードがスッキリし、見通しが良くなるのでしたね。
今回はswitchの応用編。(といってもそんなに複雑ではありません・・・)
今回はおみくじを例に説明していきます。おみくじには大吉、吉、小吉、末吉、末小吉、凶、大凶と7種類あります。
(ちなみに筆者はこれまで末小吉を見たことがありません。)
ところで、それぞれがどのくらいの比率で入っているか知っていますか?
神社により異なるらしいのですが、概ね吉、凶、大吉あたりが多いようです。
「おみくじプログラム」を作ることを考えた時、何とかしてこの比率もプログラムに反映できたらいいですよね。
今回はswitchを使って簡単に比率も考慮に入れた「おみくじプログラム」 を作ってみたいと思います。
今回はプログラムをわかりやすくするため、大吉、吉、小吉、凶、大凶の5つのくじが入っているとします。
それぞれの比率は
大吉:吉:小吉:凶:大凶
= 2:3: 1:2: 1
とします。
ifを使って書くとなると相当めんどうなことになりそうですが、switchを使うことで簡単に書くことができます。
public class Main{
public static void main(String[] args){
System.out.println("占います。");
int uranai=new java.util.Random().nextInt(9)+1;
switch(uranai){
case1:
case2:
System.out.println("大吉");
break;
case3:
case4:
case5:
System.out.println("吉");
break;
case6:
System.out.println("小吉");
break;
case7:
case8:
System.out.println("凶");
break;
case9:
System.out.println("大凶");
}
}
}
前回はcase1の場合は〜、case2の場合は・・・、というようにbreakで区切ることによってそれぞれのケースの実行結果を記述していきました。
ポイントは「breakで区切る」ということです。
breakまできたらswitchの大きな括りから抜け出すのでしたね。ということは、逆に言うとbreakが来るまでは抜け出せない(抜け出さない) ということです。
それを利用して、case1と2の場合は大吉、case3と4と5の場合は吉というように、case1とcase2で同じ実行内容にするといったことができるのです。
ちなみに、ミスでcase6のbreakを万が一書き忘れた場合には小吉と吉が表示されてしまいます。
break文の正しい使い方を覚えて、分岐に役立てましょう。
分岐についてはこれで一通り説明し終えました。次は繰り返しのプログラムを説明しようと思うのですが、その前に、
分岐の総復習をしたいと思います。
コメント 0