javaの問題で分かる方お願いします。
javaの問題で分かる方お願いします。 [TimeMeasurement.java] (指定されたミリ秒(計測間隔)毎にカウントを行うことで、スレッドの開始から終了までの経過時間を計測・計算して、評価と共に表示するクラスを記載) TimeMeasurement クラスは Thread クラスを継承し、run メソッドをオーバーライドする。 繰り返し回数を格納する整数型の変数 ct を持つ。初期値は 0 とし、クラス外からアクセスできない。 計測間隔[単位:ミリ秒]を格納する整数型の変数 sleeptime を持つ。初期値は 100 とし、クラス外からアクセスできない。 計測時間[単位:秒]を格納する実数型の変数 sec を持つ。初期値は設定せず、クラス外からアクセスできない。 繰り返しの実行を制御する論理値型変数 running を持つ。初期値は true とし、クラス外からアクセスできる。volatile 修飾子をつける。 整数型の引数 sleeptime を持つコンストラクタを一つもつ。以下で示す setSleeptime()を実行する。その際、コンストラクタの引数 sleeptime を引数として与える。 整数型の引数 sleeptime を持つメソッド setSleeptime()を持つ。戻り値はない。引数の値が 1 以上の場合のみ、インスタンスフィールドの sleeptime に引数の値を代入する。 run メソッド内では図 1 のフローチャートに基づいて動作を行う。なお、フローチャートに記載はないが、最低限必要な例外処理を施すこと。なお例外 InterruptedExceptionが起きた場合は、例外オブジェクト e を用いて例外の内容を表示する処理を行う。 図 1 TimeMeasurement クラス内 run メソッドのフローチャート [RPSChallenge.java] (プレイヤーが 10 回勝つまでじゃんけん(RPS)を行うクラスを記載) main メソッド内で最初に以下のインスタンス、変数の生成を行う。必要に応じて、パッケージの import を行う。 Random クラスのインスタンス r を生成する。 Scanner クラスのインスタンス sc を、コンストラクタの引数に「System.in」を与えて生成する。 TimeMeasurement クラスのインスタンス tm を生成する。コンストラクタの引数には 100 を与える。 整数型の変数として、win(勝ち数をカウントする。初期値 0)、com(コンピュータの手を表す)、player(プレイヤーの手を表す。初期値-1)を使用する。 手を表示するための文字列クラスの配列変数 shape を使用する。初期値として、「ぐー」「ちょき」「ぱー」を与える。 main メソッドでは、上記インスタンス、変数の生成後、図 2 のフローチャートに基づいて動作を行う。 0~2 の乱数を出力する際には、Random クラスのクラスメソッドである nextInt()を用いる。このメソッドは、0 以上かつ引数の値未満の整数値をランダムに戻す。 例) com = r.nextInt(3); /* r は Random クラスのインスタンスであり、com には0 から 2 の値のいずれかがランダムに代入される。*/ 例外処理は必要ないが、実装してもよい。 というものですわかる方お願いします。
Java・40閲覧・25