課題 (04:ベーシック)

作業について

今回の課題は以下のパッケージに作成してください。

パッケージの名前
j1.lesson04

作成するクラスの名前は問題ごとに指示があります。下記を参照してください

課題の提出方法については下記を参照してください。

また、別のコンピューター上に移動する際には、下記を参考にプログラムを持ち帰ってください。

問題

1. 末尾再帰 (考察課題)

作成するファイルの名前
TailRecursion.txt

ファイルの作成方法については下記を参照してください。

メソッドの中で自分自身を起動するプログラムを書きました。

package j1.lesson04;

import javax.swing.JOptionPane;

public class TailRecursion {

    public static void main(String[] args) {
        new TailRecursion().start();
    }

    void start() {
        String input = JOptionPane.showInputDialog("startメソッドを起動しますか?\n" +
            "(1) はい\n" +
            "(0) いいえ");
        int yesNo = Integer.parseInt(input);
        if (yesNo == 1) {
            start();
        }
    }
}

以下の問題に答えて下さい。

  1. 入力ダイアログに 0 と入力するとどうなるでしょうか
  2. 入力ダイアログに 1 と入力するとどうなるでしょうか
  3. 最初の5回は入力ダイアログに1と入力し、次に0と入力した場合のメソッドの起動順序を図示してください

2. 3種類の問題の中から1つ選んで出題するプログラム

作成するクラスの名前
QuestionOfThree

3問の中から問題を選んで出題するプログラムを作成してください。

このプログラムは、まず入力ダイアログに1から3までの整数をどれか入力すると、その数字に対応したクイズが出題されます。クイズに正解すると「正解です」と表示し、間違えると「不正解です」と表示するようにしてください。プログラムを1回実行したときに出題する問題は1問だけです。

余力があれば3つより多い問題を出題するようにしてください。

ヒント

「3問連続で出題するプログラム」は例題で紹介しました。今回は入力された値に応じて、分岐して出題する問題を変えるプログラムです。分岐の中で問題表示用のメソッドを起動するとうまくいきます。

3. 3種類の問題の中から1つ選んで出題し、間違えたら正解を表示するプログラム

作成するクラスの名前
QuestionWithCorrect

3問の中から問題を選んで出題するプログラムを作成してください。さらに、今回は間違えたら正しい答えを表示するようにしてください。

「10 + 20 = ?」のような問題では正解が「30」なのでわかりやすいですが、「リンゴの色は? (1) 青 (2) 赤」のような問題では正解が「2」なのでどう間違えたのかよくわかりません。そこで、このような場合には「不正解。正解は赤です」のように表示するようにしてください。