課題 (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(); } } }
以下の問題に答えて下さい。
- 入力ダイアログに 0 と入力するとどうなるでしょうか
- 入力ダイアログに 1 と入力するとどうなるでしょうか
- 最初の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」なのでどう間違えたのかよくわかりません。そこで、このような場合には「不正解。正解は赤です」のように表示するようにしてください。