以下の課題のうち、任意のものを2つを行うこと。できれば、3つやってください。
そして、作成結果のプログラムをNetBoxで提出をすること。
送付するファイルは次の要件を満たしていることを原則とする。
提出したことは、メールでも知らせてください。メールは以下のように記載します。
JBuilder以外での提出も認めますが、その場合は作成したソースファイルなどを、必ず、学籍番号-課題番号 という形式のフォルダに入れ、そのフォルダを部分パスとして含むように圧縮をした結果を添付するのを基準とします。なお、JBuilder以外の開発ツールでの提出の場合には、可能な限り事前に相談してください。
課題の締め切りは:2012年2月5日(日曜日)とします |
日本時間で2月5日中であればいいとします。もちろん、それ以前に提出してもらってもかまいません。遅れた場合は採点ができず、原則として不合格となります。
提出結果については、指導が入ることがあります。指導はメールで送ります。ない場合もあります。
受け取ったかどうかは、講義のホームページで随時公開します。
整数の配列を定義しいくつかの数値を代入しておく。そして、それらの中の最大値、最小値を求めるプログラムを作成すること。そして、要素が5個以上の配列を3つ用意して、3つの配列の要素の中での最大値と最小値を求められるようにする。また、3つの配列のすべての要素に関して、大きい順、小さい順に並べ替えること。結果は、それぞれ標準出力への書き出しでよい。
ある整数numberに数値を代入する。そして、1からその数値までに存在するすべての整数の合計を求めて標準出力に書き出す。たとえば、number = 4なら、1+2+3+4=10を求める。もちろん、numberがどんな数でも(とは言っても上限があるが)きちんと求められるようにする。
そして、プログラムを発展させて、numberとして与えてられるいちばん大きな数値はいくつかを求めるプログラムを作成してみること。1からその数までの合計についても、numberと同じ型の変数を使って計算を求めることにする。とりあえず、numberが、short型でやってみてほしいが、そのほかの整数型でもチャレンジしてもらいたい。たとえば、byte型だと、1〜15の合計は120、1〜16の合計は136となるため、16までの数の合計をbyte型の変数では計算できないことになる。byte型の上限が127であることを思い出そう。
ならば、1から順に数値を増やして行って、たとえば16までの合計が、1つ前の数値、つま15までの合計の数値に16を加えたものかどうかを判断すると、どこかでおかしくなるはずだ。そのときの数値が、上限ということになる。これがヒントであるが、ちょっと複雑な問題なので頭をひねってもらいたい。
世界のナベアツの代表的なネタと言えば「3の倍数と3が付く数字のときだけアホになります」だ。通常は40までだそうだが、100、1000と続けた場合、何回アホにならないといけないかを求めるプログラムを作る。このとき、何回まで続けるかを変数として設定して、100、1000、10000まで数える場合のそれぞれのアホになる回数を、プログラムのコメント欄に記入しておくこと。
Chapter 8では、ひとりの人間をオブジェクトとして扱うPersonalityクラスを定義した。このやり方に従って、1冊の書籍を扱うBookというクラスをプログラムをとして作成すること。インスタンス変数として、書籍名、著者名、出版社名、定価、ページ数を定義すること。そして、インスタンス変数の「定価」は税抜き価格だとして、税込み価格を得るメソッドを定義すること。
次のようなプログラムに仕上げる。このBookクラスを使って、手近にある5冊分の本のインスタンスを生成し、その5冊のプログラムの税込み価格の合計を求めて標準出力に表示する。また、書籍名、著者名、税込み価格を、それぞれ「/」で区切って1行に書き、5冊分書籍の一覧表を標準出力に表示する。
JavaBookの演習問題11-1
JavaBookの演習問題12-1