Javaプログラミング基礎 演習問題 (基礎クラス向け)

解答は

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

問題1 (Beginners')

面積を求めることができる三角形を表わすクラス Triangle を作成しなさい。 このクラスはコンストラクタを用いて次のように初期化できるようにすること。

mainメソッドを作成するクラスは TrianglesArea2 とする。 (ファイル名 TrianglesArea2.java)

class TrianglesArea2 {
    public static void main(String[] args) {
        Triangle t1 = new Triangle();     // 自動的に高さ10、底辺10に初期化される
        Triangle t2 = new Triangle(10,20);// 高さ10、底辺20に初期化される

        t1の面積を求め表示
        t2の面積を求め表示
    }
}

// 三角形を表わすクラスの定義
class Triangle {
    ....
    ....
    ....
}

問題2 (Beginners')

次のプログラムは、現実世界の犬の真似のようなことを行うものである。 犬を表わすクラス Dog には、「名前 (name) 」という属性があり、 「ほえる (bark)」というメソッドがあるとする。

次のプログラムは、2匹の犬が鳴く様子を表わそうとしているが、 このままでは2匹目の犬 nanashi のオブジェクト生成の場所で、 コンパイルエラーとなり動作しない。 名前を指定せずにオブジェクトを生成したときは、 「名無し」という名前で犬を表わすオブジェクトが生成されるように Dogクラスの内容を追加し正しく動作するようにしなさい。 mainメソッドの内容は変更しないこと。

(ファイル名 DogPen2.java)

class DogPen2 {
    public static void main(String[] args) {
        Dog pochi = new Dog("ポチ");
        Dog nanashi = new Dog();

        pochi.bark();
        nanashi.bark();
    }
}

class Dog {
    String name;

    Dog(String n) {
        name = n;
    }

    void bark() {
        System.out.println(name + ": わん");
    }
}