・   「Java入門編」 第11回

11:データ構造としてのクラス(1)

クラスの「フィールド」の意味と、新しいデータ型の定義について練習します。


・ 準備:

  1. LinuxもしくはWindowdsの環境でログインしなさい。
  2. 作業のための端末エミュレータのウィンドウを開きなさい。
  3. ホームディレクトリの下に後期のJavaの作業用のディレクトリ java2 に移動し、以下の課題の作業を行いなさい。

・ 基本課題1:「新しいクラスの定義とフィールド」

  1. ソースファイル Elephant.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. この課題はこのままでは実行できません。次の課題に進みなさい。

・ 基本課題2:「定義したクラスの利用(1)」

  1. ソースファイル ElephantTest.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. 実行して結果を確認しなさい。

・ 基本課題3:「新しいフィールドの追加」

  1. 基本課題1のプログラムに、 象の体重を記憶するための新しい int型のフィールド weightを追加しなさい。
  2. クラス名(ファイル名)は Elephantのままでよい。
  3. 追加したら、再コンパイルしなさい。

・ 基本課題4:「定義したクラスの利用(2)」

  1. 基本課題2のプログラムの printElephant()メソッドが、 weightのフィールドの情報も表示できるように修正しなさい。
  2. クラス名(ファイル名)は ElephantTestのままでよい。
  3. 追加したら、再コンパイルし、実行結果を確認しなさい。

・ 基本課題5:「配列の生成」

  1. ソースファイル ElephantArrayTest.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. 実行して結果を確認しなさい(結果は課題4と変わらない)。

・ 基本課題6:「さらに複雑なクラスの定義」

  1. ソースファイル ElephantFamily.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. この課題はこのままでは実行できません。次の課題に進みなさい。

・ 基本課題7:「定義したクラスの利用(3)」

  1. ソースファイル ElephantFamilyTest.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. 実行して結果を確認しなさい。

・ 基本課題8:「別の新しいクラスの設計」
以下のような条件を満たすように新しいクラスを設計しなさい。

  1. クラス名は Panda
  2. 名前を記憶するためのStringのフィールド nameを持つ。
  3. 生まれた年(西暦)の値を記憶するための int型のフィールド bornYearを持つ。
  4. 生きているかどうかを識別するための boolean型のフィールド isAliveを持つ。
  5. 以上3個のフィールド以外にはメンバーは含まない。

・ 基本課題9:「定義したクラスの利用(3)」

  1. ソースファイル PandaTest.java を別紙を参考にして完成させなさい。
  2. java.util.Calendarクラスを利用して、 現在の年を取得し、それと生まれた年とを比較して年齢(今年の末現在)を 計算してください。
  3. ただし、生きていないと登録されている場合には、"is not alive" というメッセージを表示させるようにしてください。
  4. javac コマンドでコンパイルをしなさい。
  5. 実行して結果を確認しなさい。

・ メールによるレポート課題: 以下の結果を tatsuo宛のメール で知らせてください。 件名(Subject)は java23

  1. 学籍番号と氏名
  2. 課題3 のプログラム Elephant.java を添付しなさい。
  3. 課題4 のプログラム ElephantTest.java を添付しなさい。
  4. 課題8 のプログラム Panda.java を添付しなさい。
  5. 課題9 のプログラム PandaTest.java を添付しなさい。

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