下準備
テストドライバの導入
第15_2回目 (秋学期02_2回目) 分のテストドライバを導入する。以下の手順で行う。
- ダウンロード のページを開く (ここをクリック)
- プロジェクト「java2007」にある「test」の左側の「+」をクリック
- ツリーが展開されるので「install-libraries.xml」を右クリック
- 「実行(R)」にマウスカーソルを合わせる
- 「1 Ant ビルド」をクリック
- 「コンソール」タブに"BUILD SUCCESSFUL"と表示されれば成功
- eclipseの画面でプロジェクト「java2007」を右クリック
- メニューが表示されるので、「最新表示」をクリック
- "week15_2.zip" をデスクトップなどにダウンロード
- eclipseの画面でプロジェクト「java2007」を右クリック
- メニューから「インポート(I)」を選択
- 「インポート」ウィンドウが表示されるので、「Zip ファイル」を選択
- 「次へ(N)」をクリック
- 宛先フォルダー(L): が「java2007」になっていることを確認
- From archive file: の右側にある 「ブラウズ(R)...」あるいは「参照(R)...」をクリック
- ファイルダイアログが表示されるので、ダイアログ内に表示されたダウンロードしたファイルをダブルクリック
- 前の画面に戻るので、From archive file: のエリアに正しいパスが入力されていることを確認
- フォルダ「/」の左にチェックがついていることを確認 (ついていなければチェックボックスをクリック)
- 「Overwrite existing resources without warning」にチェックがついていることを確認 (上書きしたくないファイルがある場合はチェックを外す)
- 「終了 (F)」をクリック
第15_2週目テストドライバの導入に成功すると、java2007 プロジェクトの test フォルダに j2.lesson02_2.xml というファイルが作成される。
パッケージの作成
過去の演習を参考にして、「j2.lesson02_2」というパッケージを作成する。
課題1521
講義資料の ExamRecord2 を作成し、ExamRecord2Action で動作を確認しなさい。
手順
指定した箇所で必ずテストを行うこと。
- パッケージ j2.lesson02_2 にクラス ExamRecord2 を作成
- ExamRecord2Action を作成
- テスト項目「ExamRecord2Actionに対する骨格テスト」をパス
- テスト項目「ExamRecord2Actionに対する機能テスト」をパス
課題1522
以下のExamRecord3クラスを完成させなさい。
package j2.lesson02_2; public class ExamRecord3 { String name; // Name int id; // Id number int ma; // mathematics int jp; // japanes int en; // english int sc; // Science int ss; // Social Studies public ExamRecord3(String name, int id, int ma, int jp, int en, int sc, int ss){ this.name = name; ____________; ____________; ____________; ____________; ____________; ____________; } // 3科目(数学,国語,英語)の合計を返す public int getTotal3(){ _______________; } // 5科目(数学,国語,英語,理科,社会)の合計を返す public int getTotal5(){ _________________________; } // 3科目(数学,国語,英語)の成績を表示する public ______ show3(){ System.out.println(name + ", id=" + id + ", ma=" + ma + ", jp=" + jp + ", en=" + en); } // 5科目(数学,国語,英語,理科,社会)の成績を表示する public ______ show5(){ System.out.println(_______________________________________________________); } }
手順
指定した箇所で必ずテストを行うこと。
- パッケージ j2.lesson02_2 にクラス ExamRecord3 を作成
- テスト項目「ExamRecord3に対する骨格テスト」をパス
- テスト項目「ExamRecord3に対する単体テスト」をパス
課題1523
以下のExamRecord3Action を完成させなさい。
package j2.lesson02_2; public class ExamRecord3Action { public static void main(String[] args) { ExamRecord3[] rec = new ExamRecord3[4]; rec[0] = new ExamRecord3("Taro", 1001, 50, 90, 100, 40, 90); rec[1] = new ExamRecord3("Hanako", 1002, 70, 30, 80, 100, 70); rec[2] = new ExamRecord3("Kenji", 1003, 60, 50, 70, 60, 80); rec[3] = new ExamRecord3("Aya", 1004, 40, 100, 90, 50, 55); System.out.println("===3科目の成績==="); for(int i=0; i<rec.length; i++){ __________________________________________ ; } System.out.println("===5科目の合計==="); for(int i=0; i<rec.length; i++){ ___________________________________________________________ ; } } }
実行結果は以下のようになる。
===3科目の成績=== Taro, id=1001, ma=50, jp=90, en=100 Hanako, id=1002, ma=70, jp=30, en=80 Kenji, id=1003, ma=60, jp=50, en=70 Aya, id=1004, ma=40, jp=100, en=90 ===5科目の合計=== Taro, Total5=370 Hanako, Total5=350 Kenji, Total5=320 Aya, Total5=335
手順
指定した箇所で必ずテストを行うこと。
- パッケージ j2.lesson02_2 にクラス ExamRecord3Action を作成
- テスト項目「ExamRecord3Actionに対する骨格テスト」をパス
- テスト項目「ExamRecord3Actionに対する機能テスト」をパス
課題1524 (Optional)
以下のExamRecord4クラスを完成させなさい。
package j2.lesson02_2; public class ExamRecord4 { String name; // Name int id; // Id number int ma; // mathematics int jp; // japanes int en; // english int sc; // Science int ss; // Social Studies public ExamRecord4(String name, int id, int ma, int jp, int en, int sc, int ss){ // 省略 } // 3科目(数学,国語,英語)の合計を返す public int getTotal3(){ // 省略 } // 5科目(数学,国語,英語,理科,社会)の合計を返す public int getTotal5(){ // 省略 } // 3科目(数学,国語,英語)の成績を表示する public void show3(){ // 省略 } // 5科目(数学,国語,英語,理科,社会)の成績を表示する public void show5(){ // 省略 } // 数学の平均点を返す public static double getAverageMa(ExamRecord4[] ra){ double sum = 0.0; for( _________________________ ){ _______________ ; } return sum/ra.length; } // 国語の平均点を返す public static double getAverageJp(ExamRecord4[] ra){ // 省略 } // 英語の平均点を返す public static double getAverageEn(ExamRecord4[] ra){ // 省略 } }
また、以下のExamRecord4ActionクラスでExamRecord4クラスの動作を検証してみよう。
package j2.lesson02_2; public class ExamRecord4Action { public static void main(String[] args) { ExamRecord4[] rec = new ExamRecord4[4]; rec[0] = new ExamRecord4("Taro", 1001, 50, 90, 100, 40, 90); rec[1] = new ExamRecord4("Hanako", 1002, 70, 30, 80, 100, 70); rec[2] = new ExamRecord4("Kenji", 1003, 60, 50, 70, 60, 80); rec[3] = new ExamRecord4("Aya", 1004, 40, 100, 90, 50, 55); System.out.println("数学の平均点 = " + _____________.getAverageMa(rec)); System.out.println("国語の平均点 = " + _____________.getAverageJp(rec)); System.out.println("英語の平均点 = " + _____________.getAverageEn(rec)); } }
実行結果は以下の通り。
数学の平均点 = 55.0 国語の平均点 = 67.5 英語の平均点 = 85.0
手順
指定した箇所で必ずテストを行うこと。
- パッケージ j2.lesson02_2 にクラス ExamRecord4 を作成
- テスト項目「ExamRecord4に対する骨格テスト」をパス
- テスト項目「ExamRecord4に対する単体テスト」をパス
- ExamRecord4Action を作成
- テスト項目「ExamRecord4Actionに対する骨格テスト」をパス
- テスト項目「ExamRecord4Actionに対する機能テスト」をパス
課題1525 (Optional)
ExamRecord5というクラスではExamRecord4クラスに以下のようなクラスメソッドを追加する。
- public static void sortByMath(ExamRecord5[] ra)
- public static void sortByTotal5(ExamRecord5[] ra)
これらの役割をよく考え、以下のような動作検証用のExamRecord5Action、クラスも作成せよ。
package j2.lesson02_2; public class ExamRecord5Action { public static void main(String[] args) { ExamRecord5[] rec = new ExamRecord5[4]; rec[0] = new ExamRecord5("Taro", 1001, 50, 90, 100, 40, 90); rec[1] = new ExamRecord5("Hanako", 1002, 70, 30, 80, 100, 70); rec[2] = new ExamRecord5("Kenji", 1003, 60, 50, 70, 60, 80); rec[3] = new ExamRecord5("Aya", 1004, 40, 100, 90, 50, 55); _____________.sortByMath(rec); System.out.println("===数学の点数順に並べると==="); for(int i=0; i<rec.length; i++){ System.out.println(rec[i].name + ", id=" + rec[i].id + ", math=" + rec[i].ma); } _____________.sortByTotal5(rec); System.out.println("===5科目の合計点の順に並べると==="); for(int i=0; i<rec.length; i++){ // 省略 } } }
手順
指定した箇所で必ずテストを行うこと。
- パッケージ j2.lesson02_2 にクラス ExamRecord5 を作成
- テスト項目「ExamRecord5に対する骨格テスト」をパス
- テスト項目「ExamRecord5に対する単体テスト」をパス
- ExamRecord5Action を作成
- テスト項目「ExamRecord5Actionに対する骨格テスト」をパス
- テスト項目「ExamRecord5Actionに対する機能テスト」をパス