Javaプログラミング入門

演習問題

解答は earth.mlab.im.dendai.ac.jp/home/submit/1I-Computer1/[今日の日付]/[学籍番号] のディレクトリに提出しなさい。 ソースファイル (〜.java) のみを提出すること。

ファイルの送信には ftp ソフトを用いる。 Linux の gFTP を使った提出方法 (実験室のマニュアル) を参照すること。

- 演算と条件判定

問題1

授業中示した 3 つの値の最大値を求めるプログラム (3 種類のどれでも良い) を改造して、どの変数が最大だったか、その変数名を表示するようにしなさい。 ファイル名は MaxVariable.java とする。

この問題の解法は何通りか考えられる。 ひとつの方法は、どれが最大値だったかの情報を変数に記録しておく方法である。 たとえば、 x が最大なら isXMax = true, 最大でないなら isXMax = false などとする。

もう一つの方法として、最大値を求めた後で、それが x に等しいか、 y に等しいか、 z に等しいか、と調べるやり方も可能である。

もちろん、これ以外の方法を用いても良い。

問題2

3 つの値 x, y, z の中央値(メジアン)を求めて出力するプログラムを作成しなさい。 なお中央値とは、データを大きさの順に並べたときに中央の順位にくる値である。 3 つの値はすべて異なるものとする。 プログラム名は Median3 とする。

問題3

定期試験の点数が 89, 55, 32, 94, 60 の人がいたとして、 点数が60点以上の人の平均点を求めるプログラムを書きなさい。 はじめに 5 人の点数を 5つの int 型の変数に代入しておくこと。

class AverageOfSuccessor {
    public static void main(String[] args) {
        int student1 = 89;
	int student2 = 55;
	int student3 = 32;
	int student4 = 94;
	int student5 = 60;

        ....
        点数が60点以上の人の平均点を求めるプログラムをここに書く

    }
}

この計算を行うと、平均点は 81 点となるはずである。

ヒント: 平均をとる場合には対象の人数を数える必要がある。 人数を数えるための変数を用意し、 60点以上の人を数えるようにすると良い。

プログラムの名前は AverageOfSuccessor とする。