Java(if文)

Java

Q1.年齢と性別を入力してもらい。結婚できるかどうか判定する処理を作成せよ。
[実行例]
あなたの年齢を入力してください>34 [リターン]
あなたの性別を入力してください(0:女,1:男)>1 [リターン]
判定:結婚できます

[解答例]

public class Jn3{
  public static void main(String[] args){
    System.out.print("あなたの年齢を入力してください>");
    int age=new java.util.Scanner(System.in).nextInt();
    System.out.print("あなたの性別を入力してください(0:女,1:男)>");
    int gender=new java.util.Scanner(System.in).nextInt();
    System.out.print("判定:");
    if((age >= 18 && gender == 1) ||(age >= 16 && gender == 0)){
      System.out.println("結婚できます");
    }else{
      System.out.println("結婚できません");
    }
  }
}

Q2.以下のような宝くじアプリを作成せよ。
(Scratchでの作例を参考にしてよい)

1~100までの乱数を発生させて

もし1だったら1等ということで1000万円

もし2か3だったら2等ということで100万

同様に4,5,6だったら3等10万

7,8,9,10だったら4等1万

11~20だったら5等1000円

21~40だったら6等100円

それ以外はハズレだ。

このくじを3回引いた獲得賞金を求めてみよう。

[実行例]
******宝くじアプリ******
1回目!
番号:40
6等100円!

2回目!
番号:49
ハズレ

3回目!
番号:1
1等1000万円!

賞金総額は:10000100円でした!

[解答例]


public class Jn4{
  public static void main(String[] args){
    final int MAX_COUNT=3;
    int count=0;
    int sum=0;
    System.out.println("******宝くじアプリ******");
    while(count < MAX_COUNT){
      count++;
      System.out.println(count+"回目!");
      //new java.util.Scanner(System.in).nextLine();
      int number=new java.util.Random().nextInt(100)+1;
      System.out.println("番号:"+number);
      if(number == 1){
        System.out.println("1等1000万円!");
        sum += 10000000;
      }else if(number == 2 || number == 3){
        System.out.println("2等100万円!");
        sum += 1000000;
      }else if(number > 3 && number < 7){
        System.out.println("3等10万円!");
        sum += 100000;
      }else if(number > 6 && number < 11){
        System.out.println("4等1万円!");
        sum += 10000;
      }else if(number > 10 && number < 21){
        System.out.println("5等1000円!");
        sum += 1000;
      }else if(number > 20 && number < 41){
        System.out.println("6等100円!");
        sum += 100;
      }else{
        System.out.println("ハズレ");
      }
      System.out.println();
    }
    System.out.println("賞金総額は:"+sum+"円でした!");
  }
}

[別解]
今回の場合当選番号が小さい方から順番になっているので以下の記述でもOK

public class Jn4{
  public static void main(String[] args){
    final int MAX_COUNT=3;
    int count=0;
    int sum=0;
    System.out.println("******宝くじアプリ******");
    while(count < MAX_COUNT){
      count++;
      System.out.println(count+"回目!");
      //new java.util.Scanner(System.in).nextLine();
      int number=new java.util.Random().nextInt(100)+1;
      System.out.println("番号:"+number);
      if(number == 1){
        System.out.println("1等1000万円!");
        sum += 10000000;
      }else if(number <=3){
        System.out.println("2等100万円!");
        sum += 1000000;
      }else if(number <=6){
        System.out.println("3等10万円!");
        sum += 100000;
      }else if(number <= 10){
        System.out.println("4等1万円!");
        sum += 10000;
      }else if(number <= 20){
        System.out.println("5等1000円!");
        sum += 1000;
      }else if(number <= 40){
        System.out.println("6等100円!");
        sum += 100;
      }else{
        System.out.println("ハズレ");
      }
      System.out.println();
    }
    System.out.println("賞金総額は:"+sum+"円でした!");
  }
}

コメント

タイトルとURLをコピーしました