課題10

課題 10 (復習問題)
1.
次のプログラムコードに、各設問の条件にあうメソッドを追加しなさい。その後、そのメ
ソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に
追加しなさい。
つまり、最終的には 1 つのプログラムコードに、設問の数だけメソッドが含まれることに
なる。提出するプログラムコードは、最終的なもの 1 つだけで構わない。
public class Practice {
// ここに各設問のメソッドを追加する
public static void main(String[] args) {
// ここに、追加したメソッドの動作検証を行うプログラムコードを追加する
}
}
問題 1
メソッド名: coinToss
引数: なし
戻り値の型: boolean
処理の内容: true または false のどちらか一方をランダムに返す。
問題 2
メソッド名: coinTossGame
引数名:自由に定めてよい
引数の型:int
戻り値の型:int
処理の内容:引数で渡された回数だけ coinToss メソッドを実行し、coinToss の戻り値
が true であった回数を戻り値とする。
問題 3
メソッド名: getCoinTossGameAverage
引数名:自由に定めてよい
引数の型:int
戻り値の型:double
処理の内容:引数で渡された回数だけ coinTossGame(10)を実行し、その戻り値の平均を
返す。
チャレンジ問題 4
メソッド名:printCoinTossGameScoreTransition
引数の型:なし
戻り値:なし
処理の内容:coinTossGame の引数を 1~1000 まで変化させたときの、戻り値と、
coinToss の戻り値が true になる割合の推移を、次のような形式で出力する。
[coinTossGame の引数]:[戻り値]:[true になる割合]
1:0:0
2:1:0.5
3:1:0.3333
4:1:0.25
5:2:0.4
6:3:0.5
略
1000:508:0.508
チャレンジ問題 5
メソッド名:printCoinTossGameScoreDistribution
引数の型:int
戻り値:なし
処理の内容:引数で渡された回数だけ coinTossGame(10)を実行し、その戻り値の分布を
次のような形式で出力する。
[score]:[count]
0 : 0
1 : 5
2 : 8
略
9 : 2
10
1
2. 以下の設問を満たすプログラムコードを 1 つ完成させなさい。
(1) 次のようなインスタンス変数を持つ Bookmark クラスを定義するプログラムコー
ドを作成しなさい。変数の型は自分で推測すること。
・Web ページのタイトルを表すインスタンス変数。変数名 title
・URL を表すインスタンス変数。変数名 URL
・これまでのアクセス回数を表す private インスタンス変数。変数名 accessCount
(2) Bookmark クラスに、Web ページのタイトルと URL を引数とするようなコンスト
ラクタを追加しなさい。
(3) Bookmark クラスに、アクセス回数を 1 だけ増やす、inclementAccessCount
メソッドを追加しなさい。
(4) Bookmark クラスに、インスタンス変数の情報(title, URL, accessCount
の値)を出力するための printInfo メソッドを追加しなさい。
(5) main メソッドを持つ Practice クラスを作成しなさい。
(6) 上記 main メソッド内で次のような Bookmark クラスのインスタンスを 2 つ生成
しなさい。
タイトル:Yahoo!
URL: http://www.yahoo.co.jp/
タイトル:Google
URL: http://www.google.co.jp/
(7) それぞれのインスタンスに対して、適当な回数だけ inclementAccessCount メ
ソッドを呼び出しなさい。
(8) それぞれのインスタンスに対して、printInfo メソッドを呼び出し、インスタン
スが持つ情報を出力しなさい。