[ Java練習問題 ] 練習問題 第8回 『メソッド ①』

目次

メソッド

Java練習問題 第8回では「メソッド」についての問題を用意してあります。
「メソッド」の解説はこちら

問題 1 難易度 ★★

① 三つのメソッド「oracle(), show9x9(), checkSeason()」 が下記のように定義してあります。
キーボード入力に応じて、いずれかのメソッドを呼び出すプログラムを作成してください。

public class Main_0501 {
  // 「おみくじ」oracle()
  public static void oracle() {
    String[] resAry = { "大吉", "中吉", "" };
    int random = new java.util.Random().nextInt(3);
    System.out.println(resAry[random]);
  }
  
  // 「九九表を見る」show9x9()メソッド
  public static void show9x9() {
    for (int i = 1; i <= 9; i++) {
      for (int j = 1; j <= 9; j++) {
        System.out.print(i * j + "\t");
      }
      System.out.println();
    }
  }
  
  // 「日本の四季を知る」checkSeason()メソッド
  public static void checkSeason() {
    String[] seasons = { "", "", "", "" };
    System.out.println("1~12 の範囲で月を入力してください。");
    int month = new java.util.Scanner(System.in).nextInt();
    System.out.println("日本の"+ month +"月は、"+ seasons[(month) / 3 % 4] +"です。");
  }
  
  public static void main(String[] args) {
  // 解答をここに記述してください。
  }
}

実行例 ①

数字で入力してください。
1:おみくじ
2:九九表を見る
3:日本の四季を知る
1
中吉

② 上記で作成したプログラムを「0」が入力されるまで繰返し実行できるように改修して下さい。

実行例 ②

数字で入力してください。
1:おみくじ
2:九九表を見る
3:日本の四季を知る
0:プログラム終了
1
中吉
数字で入力してください。
1:おみくじ
2:九九表を見る
3:日本の四季を知る
0:プログラム終了
3
1~12 の範囲で月を入力してください。
10
日本の 10 月は、秋です。
数字で入力してください。
1:おみくじ
2:九九表を見る
3:日本の四季を知る
0:プログラム終了
0
プログラムを終了しました。

問題 1 解答

正解は、、、
public class Main_0501 {
  // 「おみくじ」oracle()
  public static void oracle() {
    String[] resAry = { "大吉", "中吉", "" };
    int random = new java.util.Random().nextInt(3);
    System.out.println(resAry[random]);
  }
  
  // 「九九表を見る」show9x9()メソッド
  public static void show9x9() {
    for (int i = 1; i <= 9; i++) {
      for (int j = 1; j <= 9; j++) {
        System.out.print(i * j + "\t");
      }
      System.out.println();
    }
  }
  
  // 「日本の四季を知る」checkSeason()メソッド
  public static void checkSeason() {
    String[] seasons = { "", "", "", "" };
    System.out.println("1~12 の範囲で月を入力してください。");
    int month = new java.util.Scanner(System.in).nextInt();
    System.out.println(
      "日本の" + month + "月は、" + seasons[(month) / 3 % 4] + "です。");
  }
  
  public static void main(String[] args) {
    boolean next = true;
    while (next) {
      System.out.println("数字で入力してください。");
      System.out.println("1:おみくじ");
      System.out.println("2:九九表を見る");
      System.out.println("3:日本の四季を知る");
      System.out.println("0:プログラム終了");
      
      int select = new java.util.Scanner(System.in).nextInt();
      switch (select) {
      case 0:
        next = false;
        break;
      case 1:
        oracle();
        break;
      case 2:
        show9x9();
        break;
      case 3:
        checkSeason();
        break;
      default:
        break;
      }
      System.out.println();
    }
    System.out.println("プログラムを終了しました。");
  }
}

問題 2 難易度 ★★

① double 型の引数二つを受け取り、double 型の戻り値を返す割り算メソッドを、
div メソッドという名前で定義してください。
② double 型変数 a を宣言して、div メソッドを、「12.34」と「5.6」の二つの引数で呼び出した戻り 値を代入してください。
③ 変数 a をコンソール出力してください。

実行例

a = 2.2035714285714287

問題 2 解答

正解は、、、
public class Main_0502 {
  public static void main(String[] args) {
    double a = div(12.34, 5.6);
    System.out.println("a = " + a);
  }
  
  static double div(double num1, double num2) {
    double result = num1 / num2;
    return result;
  }
}

メソッド 確認問題

問題 3 難易度 ★★

① int 型の引数三個を受け取り、年月日として出力するメソッドを、showDate メソッドという名前で定義してください。
② showDate メソッドを 2019,12,11 三つの引数で呼び出してください。
③ showDate メソッドを 1999,10,10 三つの引数で呼び出してください。

実行例

2019 年 12 月 11 日
1999 年 10 月 10 日

問題 3 解答

正解は、、、
public class Main_0503 {
  public static void main(String[] args) {
    showDate(2019, 12, 11);
    showDate(1999, 10, 10);
  }
  
  static void showDate(int year, int month, int day) {
    System.out.println(year + "" + month + "" + day + "");
  }
}

Java練習問題 第9回でも引き続き「メソッド」から出題します。

(Visited 271 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次