【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