オブジェクト指向プログラミング(演習2回目)


以下の課題を解け. 必要に応じて講義資料を参考にすること.講義資料は ここにある. 課題の提出期限および提出方法は以下の通りとする.

課題1:

Exercise5 という名前のプロジェクトを作成し,その中に Main という名前のメインクラスを作成せよ.
ArrayList は配列を用いたリストを表す Java の標準クラスである.
ArrayList にはリストの末尾に要素 e を追加するメソッド add(e)
リストの n 番目の要素を取得するメソッド get(n)
リストに格納されている要素数を取得するメソッド size() などが用意されている.
以下のプログラムを入力し,実行結果を確認せよ.
課題は,出力結果のみ提出すること.

import java.util.ArrayList;

public class Main { 
   public static void main(String[] args) {
      ArrayList list = new ArrayList();
      list.add(2);
      list.add(3);
      list.add(5);
      list.add(7);
      list.add(11);
      System.out.println(list.get(3));
   }
}

課題2:

Exercise6 という名前のプロジェクトを作成し,その中に Main という名前のメインクラスを作成せよ.
次に 課題1の Main クラスを書き換えて,[1, 4, 9, 16, 25] というリストと,
[1, 2, 4, 8, 16] というリストを作成し, それぞれのリストの3番目(先頭が0番目)の要素が表示されるようにせよ.
課題は,完成したソースコードのみ提出すること.

課題3:

Exercise7 という名前のプロジェクトを作成し,その中に Main という名前のメインクラスを作成せよ.
次に,同じプロジェクトの中に Person という名前のメインでないクラスを作成し,以下のように書き換えよ.
さらに,Main クラスのmain()メソッドを書き換えて,身長 1.8m,体重 70kg の人の BMI の値と,
身長 1.65m,体重 60kg の人の BMI の値がコンソールに表示されるようにせよ.
ただし,BMIの計算は Person クラスの getBMI() メソッドを呼び出して行うようにすること.
課題は,完成した Main のソースコードのみ提出すること.

public class Person {
   double height;
   double weight;

   void setHeight(double h) {
      height = h;
   }
   double getHeight() {
      return height;
   }
   void setWeight(double w) {
      weight = w;
   }
   double getWeight() {
      return weight;
   }
   double getBMI() {
      return weight / (height * height);
   }
}

課題4(必須ではない):

Exercise8 という名前のプロジェクトを作成し,その中に Main という名前のメインクラスを作成せよ.
次に,同じプロジェクトの中に Person という名前のメインでないクラスを作成し,以下のように書き換えよ.
これは,Exercise7 の Person クラスにコンストラクタを加えてセッタを削除したものである.
Main クラスを書き換えて,課題3と同様の表示がされるようにせよ.
ただし課題3と同様に,BMIの計算は,Person クラスの getBMI() メソッドを呼び出して行うようにすること.
課題は,完成した Main のソースコードのみ提出すること.

public class Person {
   private double height;
   private double weight;

   Person(double h, double w) {
      height = h;
      weight = w;
   }
   double getHeight() {
      return height;
   }
   double getWeight() {
      return weight;
   }
   double getBMI() {
      return weight / (height * height);
   }
}