次の問(1.〜5.)を解いてレポートを作成せよ。
第1章 p.4 問 1.1.7 (参考 MouseTest.java)
マウスを押した場所を順に結んで、折れ線を描画するプログラムを書け。 アプレットを最小化したり、他のウインドウで隠したりしても、再描画のと きに折れ線もちゃんと再描画されるようにせよ。また、 総称クラスの java.util.ArrayListクラス (計算機ネットワークⅠ の3.5章) を使用して、頂点がいくつに増えても 対応できるようにすること。
第1章 p.7 問 1.2.4 (参考 Fact.java, UpDownButton.java)
摂氏の温度をテキストフィールドに入力して、これを華氏の温度に変換するア プレットを Fact.javaにならって書け。
さらに、2つのテキストフィールドを用いて、摂氏と華氏の変換を双方向に行 なえる (片方のテキストフィールドの値を変えると、もう片方のテキスト フィールドの値が変わる)ようにせよ。
(参考) (華氏の温度) = (摂氏の温度)× 9/5+32
例えば摂氏 0度は華氏で 32度、摂氏 100度は 212度になる。
(参考) String型を double型 (実数の型)に変換するには、 Double.parseDoubleというクラスメソッドを使う。
(円とドルの変換、センチメートルとインチの変換、ラジアンと度数法の変換 など他の単位の変換をするアプレットなどでも良い。)
第2章 p.6 問 2.5.2
(参考: Point.java,
ColorPoint.java)
DeepPointクラスは、このプリントで定義されたPointク ラスを継承し、新しいフィールドint depthを持っている。 printも再定義されていて、 depthが 5の DeepPointは“(((((11, 19)))))”のように括弧が 5重 になって出力される。注: setDepth, getDepth以外の方法で depthの値を参照できないようにすること。
- DeepPointクラスを定義せよ。
- depthが 1 〜 10の値に制限されるように setDepth(及び getDepth)を定義せよ。
public class DeepPointTest { public static void main(String args[]) { Point p = new Point(10, 20); p.move(1, -1); p.print(); System.out.println(); DeepPoint dp = new DeepPoint(20, 30, 5); dp.move(1, -1); dp.print(); System.out.println(); dp.depth = 20; // コンパイル時にエラーになることを確認してコメントアウトしておくこと dp.setDepth(8); Point[] pts = new Point[2]; pts[0] = p; pts[1] = dp; int i; for (i=0; i<2; i++) { pts[i].moveAndPrint(10, 10); System.out.println(); } } }その(“dp.depth=20”の行をコメントアウトした時の)出力例:
(11, 19) (((((21, 29))))) (11, 19)(21, 29) ((((((((21, 29))))))))((((((((31, 39))))))))
第3章 p.4 問 3.1.2
円が左右に移動し、左か右の壁にぶつかった時は跳ね返るようなアプレットを 書け。さらに斜めに動いて上下左右の壁にぶつかった時、跳ね返るようなアプ レットを書け。
第A章 p.4 問 A.2.4 (参考 Pphttpd.java)
時計付 Webページを配信する(偽)HTTPサーバプログラムを書け。
配点は 各2点である。
プログラムにはできるだけコメントも多くいれること。
(12/17 追加)
作成した Javaのソース(.java)ファイル、
クラス(.class)ファイル、HTMLファイルなど実行に必要なファイルは全て、
\\stfile\Report\kagawa\CompNet2\Report1\
の下の「s学籍番号」という名前のフォルダにオンライン提出する。
アプレットの場合は appletviewerで実行できることを必ず確認しておくこと。
アプリケーションの場合は javaで実行できることを 確認しておくこと。
自分用のコピーを必ず保存しておくこと。
ソースコード、実行中の画面のハードコピーを Word(もしくはOpenOffice Writer, TeXなど)文書にまとめて、A4用紙に印刷したものもレポートボックスに提出すること。
以上の注意が守られていれば、最小限の長さのものでよい。
締切は、12月14日(金)18時30分