実技(Javaプログラミング実習2)➄

1.PairPro(ボールゲーム)
2.ボールゲーム作成続き
以下の処理をPairProによって実現せよ。

[問題]
1~10の番号のついたボールの入った袋がある。
交互にボールを2回ずつ引いて、合計の多い方が勝ちとなる。
ただし、ボールは袋に戻さないこととする。(引き分けは Drawと表示する)

[実行例]
Mother
3
Kids
8
Mother
2
Kids
1

Result
Mother 5
Kids 9

Kids Win!

[解答例]

import java.util.Random;

public class BallGame {

	public static void main(String[] args) {
		
		int[] balls={1,2,3,4,5,6,7,8,9,10};
		int playCount=4;
		int motherSum=0;
		int kidsSum=0;
		
		Random rand=new Random();
		for(int i=balls.length;i>balls.length-playCount;i--){
			int index=rand.nextInt(i);
			int point=balls[index];
			if(i % 2 == 0){
				System.out.println("Mother");		
				motherSum+=point;
				
			}else{
				System.out.println("Kids");
				kidsSum+=point;
			}
			System.out.println(point);
			//2値の入れ替え
			int temp=balls[index];
			balls[index]=balls[i-1];
			balls[i-1]=temp;
		}
		System.out.println("\nResult");
		System.out.println("Mother "+motherSum);
		System.out.println("Kids "+kidsSum+"\n");
		
		if(kidsSum > motherSum){
			System.out.println("Kids Win!");
		}else if(motherSum > kidsSum){
			System.out.println("Mother Win!");
		}else{
			System.out.println("Draw");
		}
	}
}

3.条件演算子
4.メソッド(引数)
5.メソッド(戻り値)

import java.util.Scanner;

public class MethodLesson {

	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		System.out.print("名前>");
		String name=scan.nextLine();
		System.out.print("装飾マーク>");
		String mark=scan.next();
		System.out.print("回数>");
		int count=scan.nextInt();
		String result=decoStr(name,mark,count);
		System.out.println(result);

	}
	public static String decoStr(String org,String deco,int count) {
		String s="";
		for(int i=0;i<count;i++) {
			s+=deco; // s=s+deco;
		}
		return s+org+s;
	}







}