Javaプログラミング基礎

演習問題 (中級〜上級)

解答は

に提出しなさい。ソースファイル (〜.java) のみを提出。 提出は gFTP 等の ftp ソフトを用いて行う。

問題1

問題1-1

定期試験の点数の並びをコマンドライン引数から受け取り、 点数が60点以上の人の平均点を求めるプログラムを書きなさい。 平均点は実数で (小数点以下まで) 求めなさい。 プログラム名は AverageOfSuccessor2 とする。 このプログラムを実行した結果は次のようになるものとする。

$ java AverageOfSuccessor2 89 55 32 94 60
60点以上の人の平均点は 81.0 点です。

問題1-2

あなたは定期試験に臨み、85点取ったとする。 同様にコマンドライン引数から情報を取り込み、 あなたは何位になるかを求めるプログラムを書きなさい。 プログラム名は YourRank とする。 このプログラムを実行した結果は次のようになるものとする。

$ java YourRank 85 89 55 32 94 60
85点の人の順位は第3位です。

先頭の点数があなたの得点、その次以降の点数が他の人の得点だとする。

順位を計算するためには、自分より高い得点を取った人の人数をカウントすれば良い。

問題2

コマンドライン引数で指定された大きさの 三角形を表示するプログラムを書きなさい。 プログラム名は ScalableTriangle とする。

このプログラムの実行結果は次のようになれば良い。

$ java ScalableTriangle 5
*
**
***
****
*****

$ java ScalableTriangle 10
*
**
***
****
*****
******
*******
********
*********
**********

問題3

繰り返しを使いこなすための復習問題 (配列やコマンドライン引数は用いずに書ける)。

10000 以下の完全数をすべて求めて表示するプログラムを書きなさい。 ファイル名は Perfect.java とする。

完全数とは、 その数の約数 (その数自身は含まない) の和が、 その数自身と等しい自然数である。 例えば、 6 は約数の和が 1 + 2 + 3 = 6 なので完全数である。

このプログラムは、二重の繰り返しとして書くのが適当である。

なお、このプログラムの実行には数秒要する。