【Java】簡単なJavaプログラムを書いてみよう
コインの表裏
前回の数学関数Math( )をつかって簡単なJavaプログラムを記述してみます。random( )メソッドを使って0以上1未満の乱数を発生させます。ここでは乱数1なら「表」、乱数2なら「裏」とします。そのため、random( )メソッドをつかって1若しくは2のいずれかの乱数が発生するようにします。
public class Sample1 { public static void main(String[] args) { double coin = Math.floor(Math.random() * 2) + 1; if(coin == 1){ System.out.println("表"); }else{ System.out.println("裏"); } } }
結果表示 -------- 表 or 裏
じゃんけんプログラム
数学関数と論理演算子をつかって「じゃんけん」プログラムを記述します。少し複雑になりますがif文をつかってrandom( )メソッドの0未満1以上の乱数の範囲に対して「グー」、「チョキ」、「パー」の出し手を与えます。
public class Sample2 { public static void main(String[] args) { //A君の出し手 double a_rand = Math.random(); //A君 int a_hand = 0; //1:グー、2:チョキ,3:パー if(a_rand < 0.33){ a_hand = 1; }else if(a_rand < 0.66){ a_hand = 2; }else{ a_hand = 3; } //B君の出し手 double b_rand = Math.random(); int b_hand = 0; //1:グー、2:チョキ,3:パー if(b_rand < 0.33){ b_hand = 1; }else if(b_rand < 0.66){ b_hand = 2; }else{ b_hand = 3; } //じゃんけん if(a_hand == 1 && b_hand ==1){ System.out.println("あいこ"); }else if(a_hand == 1 && b_hand == 2){ System.out.println("A君勝利"); }else if(a_hand == 1 && b_hand == 3){ System.out.println("B君勝利"); }else if(a_hand == 2 && b_hand == 1){ System.out.println("B君勝利"); }else if(a_hand == 2 && b_hand == 2){ System.out.println("あいこ"); }else if(a_hand == 2 && b_hand == 3){ System.out.println("A君勝利"); }else if(a_hand == 3 && b_hand == 1){ System.out.println("A君勝利"); }else if(a_hand == 3 && b_hand == 2){ System.out.println("B君勝利"); }else if(a_hand == 3 && b_hand == 3){ System.out.println("あいこ"); } } }
結果表示 -------- A君の勝利
整数の乱数をつかって処理を簡単にしてみます。
public class Sample3 { public static void main(String[] args) { double jankenComp = Math.floor(Math.random() * 3); double jankenUser = 0; if(jankenComp == jankenUser){ System.out.println("あいこ"); }else if((jankenComp +1) % 3 == jankenUser){ System.out.println("あなたの負けです"); }else{ System.out.println("あなたの勝ちです"); } //出し手の確認用 System.out.println(jankenComp); System.out.println(jankenUser); } }
結果表示 -------- あいこ 0.0 0.0