メソッド
Java練習問題 第8回では「メソッド」についての問題を用意してあります。
「メソッド」の解説はこちら
問題 1 難易度 ★★
3つのメソッド「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」が入力されるまで繰返し実行できるように改修して下さい。0~3以外の入力がされた場合には強制的に終了することとします。
実行例 ②
数字で入力してください。
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 型の引数三個を受け取り、「yyyy年MM月dd日」というフォーマットでコンソールに出力するメソッドを、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回でも引き続き「メソッド」から出題します。
コメント