挑戦問題を格納しました

This commit is contained in:
m-mun
2026-09-16 12:25:03 +09:00
parent 093c94fcb8
commit 43ef034dd9
153 changed files with 12477 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
# オブジェクト指向総合復習問題 Question2-1
TODOコメントを埋めて、カリキュラム関連クラスを作ろう!

View 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構築演習
1 05/26 10:00 DB概要・環境構築
2 05/26 13:30 パラメータ設定、SQL基礎
3 05/27 10:00 SQL応用(結合・サブクエリ)
4 05/27 13:30 SQL応用(グルーピング・集約関数)
5 05/31 10:00 トランザクション、ロック
6 05/31 13:30 インデックス、ストアドプロシージャ、JDBC
7 06/01 10:00 SQLインジェクション対策
8 06/01 13:30 DAO/DTO
9 06/02 10:00 DAO/DTOを用いたCRUD構築演習

View 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,オブジェクト指向プログラミング総合演習
1 04/21 10:00 Javaを始めよう
2 04/21 13:30 プログラムの書き方
3 04/22 10:00 アルゴリズム
4 04/22 13:30 式と演算子
5 04/25 10:00 制御構文(if文、while文)
6 04/26 13:30 制御構文(switch、do~while、for文)
7 05/02 10:00 配列
8 05/02 13:30 メソッド
9 05/06 10:00 複数クラスを用いた開発
10 05/11 10:00 Java基本文法総合演習
11 05/12 10:00 オブジェクト指向概要
12 05/12 13:30 インスタンスとクラス
13 05/13 10:00 様々なクラス機構
14 05/13 13:30 カプセル化
15 05/19 10:00 継承
16 05/19 13:30 抽象クラス、インタフェース
17 05/20 10:00 多態性
18 05/20 13:30 Java標準ライブラリ
19 05/23 10:00 アノテーション
20 05/23 13:30 例外
21 05/24 10:00 コレクション
22 05/24 13:30 Java総合テスト
23 05/25 10:00 オブジェクト指向プログラミング総合演習

View File

@@ -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 カリキュラム名
*/
}

View File

@@ -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 カリキュラム名
*/
}

View File

@@ -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 カリキュラム名
*/
}