挑戦問題を格納しました
This commit is contained in:
3
CUI_オブジェクト指向復習問題/Question2-1/README.md
Normal file
3
CUI_オブジェクト指向復習問題/Question2-1/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# オブジェクト指向総合復習問題 Question2-1
|
||||
|
||||
TODOコメントを埋めて、カリキュラム関連クラスを作ろう!
|
||||
9
CUI_オブジェクト指向復習問題/Question2-1/file/DBCurriculum.csv
Normal file
9
CUI_オブジェクト指向復習問題/Question2-1/file/DBCurriculum.csv
Normal file
@@ -0,0 +1,9 @@
|
||||
05/26 10:00,DB概要・環境構築
|
||||
05/26 13:30,パラメータ設定、SQL基礎
|
||||
05/27 10:00,SQL応用(結合・サブクエリ)
|
||||
05/27 13:30,SQL応用(グルーピング・集約関数)
|
||||
05/31 10:00,トランザクション、ロック
|
||||
05/31 13:30,インデックス、ストアドプロシージャ、JDBC
|
||||
06/01 10:00,SQLインジェクション対策
|
||||
06/01 13:30,DAO/DTO
|
||||
06/02 10:00,DAO/DTOを用いたCRUD構築演習
|
||||
|
23
CUI_オブジェクト指向復習問題/Question2-1/file/JavaCurriculum.csv
Normal file
23
CUI_オブジェクト指向復習問題/Question2-1/file/JavaCurriculum.csv
Normal file
@@ -0,0 +1,23 @@
|
||||
04/21 10:00,Javaを始めよう
|
||||
04/21 13:30,プログラムの書き方
|
||||
04/22 10:00,アルゴリズム
|
||||
04/22 13:30,式と演算子
|
||||
04/25 10:00,制御構文(if文、while文)
|
||||
04/26 13:30,制御構文(switch、do~while、for文)
|
||||
05/02 10:00,配列
|
||||
05/02 13:30,メソッド
|
||||
05/06 10:00,複数クラスを用いた開発
|
||||
05/11 10:00,Java基本文法総合演習
|
||||
05/12 10:00,オブジェクト指向概要
|
||||
05/12 13:30,インスタンスとクラス
|
||||
05/13 10:00,様々なクラス機構
|
||||
05/13 13:30,カプセル化
|
||||
05/19 10:00,継承
|
||||
05/19 13:30,抽象クラス、インタフェース
|
||||
05/20 10:00,多態性
|
||||
05/20 13:30,Java標準ライブラリ
|
||||
05/23 10:00,アノテーション
|
||||
05/23 13:30,例外
|
||||
05/24 10:00,コレクション
|
||||
05/24 13:30,Java総合テスト
|
||||
05/25 10:00,オブジェクト指向プログラミング総合演習
|
||||
|
@@ -0,0 +1,99 @@
|
||||
package com.rhizome.beans.curriculum;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* カリキュラムクラス
|
||||
* 各カリキュラムの元となる抽象クラス
|
||||
*
|
||||
* @author ITCollege
|
||||
* @since 2022
|
||||
* ------------------------------------------------------------
|
||||
* Copyright(c) Rhizome Inc. All Rights Reserved.
|
||||
*/
|
||||
public abstract class Curriculum {
|
||||
// カリキュラムがあるフォルダのパス
|
||||
private final static String CURRICULUM_FOLDER_PATH = "file/";
|
||||
|
||||
// カリキュラム対象ファイル
|
||||
private File targetFile;
|
||||
|
||||
// カリキュラムのマップ <実施日時(String), 単元名(String)>で保持
|
||||
private Map<String, String> curriculumMap = new LinkedHashMap<String, String>();
|
||||
|
||||
/**
|
||||
* Curriculumクラスのコンストラクタ
|
||||
* カリキュラムファイルインスタンスを作成する
|
||||
* カリキュラム一覧を読み込みMapにする
|
||||
*
|
||||
* @param fileName
|
||||
* @throws FileNotFoundException
|
||||
*/
|
||||
protected Curriculum(String fileName) throws FileNotFoundException {
|
||||
this.targetFile = new File(CURRICULUM_FOLDER_PATH + fileName + ".csv");
|
||||
|
||||
// TODO カリキュラム一覧を読み込み、マップにするメソッドを呼ぶ
|
||||
}
|
||||
|
||||
/**
|
||||
* カリキュラムファイルから単元名一覧を読み込みマップを作成する
|
||||
* key:日付 value:単元名
|
||||
* @return 作成したマップ
|
||||
* @throws FileNotFoundException ファイルがなかった場合エラーとする
|
||||
*/
|
||||
private void createCurriculumMap() throws FileNotFoundException {
|
||||
Scanner scanner = null;
|
||||
try{
|
||||
// ファイルを読み込む
|
||||
scanner = new Scanner(this.targetFile, "UTF-8");
|
||||
// ファイルの内容を1行1行読み込み、リストに加える
|
||||
while (scanner.hasNext()) {
|
||||
// 日付とカリキュラム名で分割
|
||||
String[] lineData = scanner.nextLine().split(",");
|
||||
// マップに追加
|
||||
curriculumMap.put(lineData[0], lineData[1]);
|
||||
}
|
||||
} finally {
|
||||
// もしScannerがnullではなかったらクローズする
|
||||
if (scanner != null) {
|
||||
scanner.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO
|
||||
* getUnitName()メソッド
|
||||
* 日時を指定して、カリキュラムの単元名を取得する
|
||||
* @param dateTime 日時
|
||||
* @return 単元名
|
||||
*/
|
||||
|
||||
/**
|
||||
* カリキュラム情報Mapからすべての単元名を表示する
|
||||
*/
|
||||
public void printAllUnitName() {
|
||||
for (String key : this.getCurriculumMap().keySet()) {
|
||||
System.out.println(key + ":" + this.getCurriculumMap().get(key));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* curriculumMapのGetter
|
||||
* @return curriculumMapフィールド
|
||||
*/
|
||||
|
||||
/**
|
||||
* curriculumMapのSetter
|
||||
* @param curriculumMap セットするマップ
|
||||
*/
|
||||
|
||||
/**
|
||||
* カリキュラム名のGetter 抽象メソッド
|
||||
* @return カリキュラム名
|
||||
*/
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.rhizome.beans.curriculum;
|
||||
|
||||
/**
|
||||
* DBのカリキュラムクラス
|
||||
* DBのカリキュラムやテキスト情報を保持したクラス
|
||||
* TODO Curriculumクラスを継承する
|
||||
*
|
||||
* @author ITCollege
|
||||
* @since 2022
|
||||
* ------------------------------------------------------------
|
||||
* Copyright(c) Rhizome Inc. All Rights Reserved.
|
||||
*/
|
||||
public class DBCurriculum {
|
||||
// DBカリキュラム名一覧のテキストファイル名
|
||||
private final static String DB_CURRICULUM_FILE_NAME = "DBCurriculum";
|
||||
|
||||
// カリキュラム名
|
||||
private final static String CURRICULUM_NAME = "DB";
|
||||
|
||||
/**
|
||||
* TODO
|
||||
* DBCurriculumクラスのコンストラクタ
|
||||
* 親のコンストラクタに、カリキュラムのファイル名を引数で渡す
|
||||
*
|
||||
* @throws FileNotFoundException カリキュラム一覧ファイルが見つからなかった場合はエラー
|
||||
*/
|
||||
|
||||
/**
|
||||
* TODO
|
||||
* getCurriculumNameメソッドのオーバーライド
|
||||
*
|
||||
* @return カリキュラム名
|
||||
*/
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.rhizome.beans.curriculum;
|
||||
|
||||
/**
|
||||
* Javaのカリキュラムクラス
|
||||
* Javaのカリキュラムやテキスト情報を保持したクラス
|
||||
* TODO Curriculumクラスを継承する
|
||||
*
|
||||
* @author ITCollege
|
||||
* @since 2022
|
||||
* ------------------------------------------------------------
|
||||
* Copyright(c) Rhizome Inc. All Rights Reserved.
|
||||
*/
|
||||
public class JavaCurriculum {
|
||||
// Javaカリキュラム名一覧のテキストファイル名
|
||||
private final static String JAVA_CURRICULUM_FILE_NAME = "JavaCurriculum";
|
||||
|
||||
// カリキュラム名
|
||||
private final static String CURRICULUM_NAME = "Java";
|
||||
|
||||
// 使用するテキスト名
|
||||
public final static String JAVA_TEXT = "スッキリわかるJava入門";
|
||||
|
||||
/**
|
||||
* TODO
|
||||
* JavaCurriculumクラスのコンストラクタ
|
||||
* 親のコンストラクタに、カリキュラムのファイル名を引数で渡す
|
||||
*
|
||||
* @throws FileNotFoundException カリキュラム一覧ファイルが見つからなかった場合はエラー
|
||||
*/
|
||||
|
||||
/**
|
||||
* TODO
|
||||
* getCurriculumNameメソッドのオーバーライド
|
||||
*
|
||||
* @return カリキュラム名
|
||||
*/
|
||||
}
|
||||
Reference in New Issue
Block a user