解答は
- ホスト名: earth.mlab.im.dendai.ac.jp
- ディレクトリ: /home/submit/JavaBeginners/[今日の日付]/[学籍番号]
に提出しなさい。ソースファイル (〜.java) のみを提出。 gFTP 等を使い ftp を用いて提出しなさい。
提出先が木曜日と異なることに注意
面積を求めることができる三角形を表わすクラス 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 { (面積を求めることができる「三角形」には、 どのような属性が必要か考えること) .... .... (適切なコンストラクタをここに書くこと) .... .... // 面積を求めるメソッド area の宣言 double area() { double area = 底辺 x 高さ / 2; return area; } }
次のプログラムは、現実世界の犬の真似のようなことを行うものである。 犬を表わすクラス 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 + ": わん"); } }