計算機ネットワーク Ⅱ(Java編)・レポート


問題

次の問(1.〜3.)を解いてレポートを作成せよ。

  1. 第1章 p.6 問 1.5.2
    (参考: Point.java, ColorPoint.java

    提出ファイル名: DeepPoint.java, DeepPointTest.java
    DeepPointクラスは、このプリントで定義されたPointク ラスを継承し、新しいフィールドint depthを持っている。 printも再定義されていて、 depthが 5の DeepPointは“(((((11, 19)))))”のように括弧が 5重 になって出力される。

    DeepPointクラスを定義せよ。特に depthが 1 〜 10の値に制限されるように setDepth(及び getDepth)を定義せよ。depthフィールドの値は setDepthメソッドのみが変更できるようにすること。 (setDepthメソッドに 0以下または 11以上の値が引数として渡されたときは 無視するようにせよ。つまり、 DeepPointクラスの外からは、どうやってもdepthの値は 1〜10以外にはできないようにせよ。

    注: テスト用のmainメソッド(DeepPointTest.java

    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))))))))
    
  2. 第2章 p.4 問 2.1.2

    提出ファイル名: Toi2.java, Toi2.html
    円(などの図形)が(等速で)斜めに動いて 上下左右の壁にぶつかったとき、跳ね返るようなアプレットを書け。
  3. 第A章 p.9 問 A.4.4
    (参考 Pphttpd.java

    提出ファイル名: Toi3.java
    アクセスしたときの(サーバ側の)時刻を表示する Webページを配信する (偽)HTTPサーバプログラムを書け。
    (Servletではなく、Socketの作成を自前で行ない、 単独でサーバとして動作するプログラムを作成する。)

注意


Koji Kagawa