・   「Java言語」実習 第12回

成長する生命体のクラス

「成長する」という性質を備えた、単純な生命体のクラスを設計してみましょう。


・ 準備1:
各自のJavaの課題の作業用のディレクトリ ~/java に移動しなさいなさい。 その下にサブディレクトリ(フォルダ) zooを作成しなさい。 zoo に移動し、その中で以下の作業を行いなさい。

・ 準備2:
Javaの課題の作業用のディレクトリ ~/java を CLASSPATHの値に設定しなさい。


CLASSPATH=~/java:. ; export CLASSPATH  (UNIX Kシェルの場合)
set CLASSPATH=Z:\java;.                (Windowsの場合)

・ 基本課題1:「基本のインターフェイスの設計」

  1. ソースファイル Life.javaGrowable.javaFood.javaEnvironment.java を作成しなさい。
  2. コンパイルしなさい。実行はまだできません。

・ 基本課題2:「単純なクラスの設計」

  1. ソースファイル Banana.java を作成しなさい。
  2. コンパイルしなさい。実行はまだできません。

・ 基本課題3:「抽象クラスの設計」

  1. ソースファイル Pet.java を作成しなさい。
  2. コンパイルしなさい。実行はまだできません。

・ 基本課題4:「抽象クラスの実装」

  1. ソースファイル Elephant.java を作成しなさい。
  2. コンパイルしなさい。実行はまだできません。

・ 基本課題5:「プログラムの確認(その1)」

  1. ソースファイル TestLabo.java を作成しなさい。
  2. コンパイルしなさい。
  3. 実行するには、パッケージ名も含めて次のように指定します。

java  zoo.TestLabo

・ 基本課題6:「プログラムの確認(その2)」

  1. ソースファイル TestLabo.java の一部を書き直して、1日に餌として与えるバナナの本数を10本に増やしなさい。
  2. コンパイルし直して実行して結果を確認しなさい。

・ 基本課題7:「プログラムの確認(その3)」

  1. ソースファイル TestLabo.java をさらに書き直して、 最初の30日間は1日に10本のバナナを与え、 30日を過ぎてからはまったく餌を与えないようにしなさい。
  2. コンパイルし直して実行して結果を確認しなさい。
  3. ヒントです。 (象の年齢を調べて1ヶ月を過ぎたらサイズ 0 の Foodの配列を与えます。)

・ 今週のレポート課題(学内用):
ここまでの課題が終わった人は、下記の項目を tatsuo宛のメール で報告しなさい。(Subjectは java12)

  1. 課題5:のプログラムの実行すると、象の体重は何kgまで成長しましたか?
  2. 課題6:のプログラムの実行すると、象の体重は何kgまで成長しましたか?
  3. 課題7:のプログラムの実行すると、象はどうなりましたか?

・ 応用課題:「象の成長の研究」

  1. 象の体重を 1000kg まで増やすことができるように、 プログラムを変更してみなさい。 どのぐらいの量の餌を与え続ければいいでしょうか? また、何日かかるでしょうか?
  2. うまくいった人は、上のメールで併せて報告してください。
  3. ヒントです。 (配列の要素が多くなるので、コンストラクタの呼び出しの形式で書く方がいいでしょう。)

実習の目次   今週の講義の内容