実技(Javaプログラミング実習1)④

1.Pairプログラミングによる演習(Scratch)
2.Pairプログラミング(演算子)
3.Pairプログラミング(for文)
以下の処理を実現せよ。(平均は小数点第2位を切り捨て小数一桁で表示すること)
3つの整数を入力してください。
整数a>:5 [enter]
整数b>:10 [enter]
整数c>:7 [enter]

最大値は10
最小値は5
合計は22
平均は7.3です。

最大値から最小値までカウントダウンします。
10
9
8
7
6
5

[解答例]

public class Pair2{
	public static void main(String[] args){
		System.out.println("3つの整数を入力してください");
		int a,b,c;
		System.out.print("整数a>:");
		a=new java.util.Scanner(System.in).nextInt();
		System.out.print("整数b>:");
		b=new java.util.Scanner(System.in).nextInt();
		System.out.print("整数c>:");
		c=new java.util.Scanner(System.in).nextInt();

		int max=Math.max(Math.max(a,b),c);
		/*参考if文を使った最大値の求め方
		int max=a;
		if(b > max){
			max=b;
		}
		if(c > max){
			max=c;
		}
		*/
		int min=Math.min(Math.min(a,b),c);
		int sum=a+b+c;
		double ave=sum/3d; //33.43252
		ave=((int)(ave*10))/10d;

		System.out.println("最大値は"+max);
		System.out.println("最小値は"+min);
		System.out.println("合計は"+sum);
		System.out.println("平均は"+ave);

		System.out.println("最大値から最小値までカウントダウンします");
		
		for(int i=max;i>=min;i--){
			System.out.println(i);
		}
		
		
	}
}

4.Pairプログラミング(宝くじゲーム)
Javaで宝くじゲームを作成せよ。当選番号は
Scratch宝くじゲーム
と同一とする。
[実行例]
宝くじゲーム
1回目:[5]
3等10万円
2回目:[58]
ハズレ
3回目:[2]
2等100万円
獲得金額は1100000円です

[解答例]

public class Pair3{
	public static void main(String[] args){
		System.out.println("宝くじゲーム");
		int sum=0;
		int gameCount=3;
		for(int i=0;i<gameCount;i++){
			System.out.print((i+1)+"回目:");
			int num=new java.util.Random().nextInt(100)+1;
			System.out.println( "["+num+"]");
			
			if(num==1){
				System.out.println("1等1000万円");
				sum+=10000000;
			}else if(num <=3){
				System.out.println("2等100万円");
				sum+=1000000;
			}else if(num <=6){
				System.out.println("3等10万円");
				sum+=100000;
			}else if(num <=10){
				System.out.println("4等1万円");
				sum+=10000;
			}else if(num <=20){
				System.out.println("5等1000円");
				sum+=1000;
			}else if(num <=40){
				System.out.println("6等100円");
				sum+=100;
			}else{
				System.out.println("ハズレ");
			}
		}
		System.out.println("獲得金額は"+sum+"円です");
		
	}
}

5.Pairプログラミング(分岐、繰り返し)
以下のアプリケーションを作成せよ。
●割り算は商を出力すればよい。 10/3=3
●もし0での割り算が発生した場合、「0で割ることはできません!」と出力すること。
[実行例1]

整数Aを入力してください>10
整数Bを入力してください>3
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>1
10+3=13
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>2
10-3=7
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>3
10*3=30
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>4
10/3=3
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>5
アプリケーションを終了します

[実行例2]

整数Aを入力してください>10
整数Bを入力してください>0
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>2
10-0=10
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>4
0で割ることはできません!
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>5
アプリケーションを終了します

[実行例3]

整数Aを入力してください>3
整数Bを入力してください>10
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>10
1~5の値を入力してください!
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>1
3+10=13
操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>5
アプリケーションを終了します

[解答例]

public class Pair4{
	public static void main(String[] args){
		System.out.print("整数Aを入力してください>");
		int a=new java.util.Scanner(System.in).nextInt();
		System.out.print("整数Bを入力してください>");
		int b=new java.util.Scanner(System.in).nextInt();
		int selected;
		do{
			System.out.print("操作を入力してください1.足す 2.引く 3.掛ける 4.割る 5.終了>");
			selected=new java.util.Scanner(System.in).nextInt();
			switch(selected){
			case 1:
				System.out.println(a+"+"+b+"="+(a+b));
				break;
			case 2:
				System.out.println(a+"-"+b+"="+(a-b));
				break;
			case 3:
				System.out.println(a+"*"+b+"="+(a*b));
				break;
			case 4:
				if(b==0){
					System.out.println("0で割ることはできません!");
				}else{
					System.out.println(a+"/"+b+"="+(a/b));
				}
				break;
			case 5:
				System.out.println("アプリケーションを終了します");
				break;
			default:
				System.out.println("1~5の値を入力してください!");
			}
			
		}while(selected != 5);
			
	}
}