diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..54e72b8a1 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,33 @@ +# Change Log + +이 프로젝트의 주목할만한 변화들은 모두 이곳에 기입합니다. +작성 기준은 [AngularJS Commit Message Conventions](https://gist.github.com/stephenparish/9941e89d80e2bc58a153) 를 따르도록 합니다. + +--- +# 지하철 프로젝트 + +feat(MainMenu.java): 초기 역과 노선 등록 기능 추가 + +feat(MainMenu.java): 지하철 노선도 출력 기능 추가 + +feat(SectionMenu.java): 구간 삭제 기능 추가 + +feat(SectionMenu.java): 구간 추가 기능 추가 + +feat(LineMenu.java): 노선 출력 기능 추가 + +feat(LineMenu.java): 노선 삭제 기능 추가 + +feat(LineMenu.java): 노선 추가 기능 추가 + +feat(StationMenu.java): 역 출력 기능 추가 + +feat(StationMenu.java): 역 삭제 기능 추가 + +feat(StationMenu.java): 역 추가 기능 추가 + +feat(Menu.java): 메뉴 입력 확인 기능 추가 + +feat(Menu.java): 메뉴 순환 기능 추가 + +docs(README.md): 구현할 기능 목록 추가 \ No newline at end of file diff --git a/README.md b/README.md index 00410ae50..5046bba2a 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,26 @@
+## 구현할 기능 목록 + - ~~메뉴 순환 기능~~ + - ~~메뉴 유효 입력 확인 기능~~ + - ~~메뉴 선택 기능~~ + + - ~~역 추가~~ + - ~~역 삭제~~ + - ~~역 출력~~ + + - ~~노선 추가~~ + - ~~노선 삭제~~ + - ~~노선 출력~~ + + - ~~구간 추가~~ + - ~~구간 삭제~~ + + - ~~지하철 노선도 출력~~ + + - ~~초기 역과 노선 등록 기능~~ + ## 🚀 기능 요구사항 ### 초기 설정 diff --git a/src/main/java/subway/Application.java b/src/main/java/subway/Application.java index 0bcf786cc..053ccdd86 100644 --- a/src/main/java/subway/Application.java +++ b/src/main/java/subway/Application.java @@ -3,8 +3,10 @@ import java.util.Scanner; public class Application { + public static void main(String[] args) { final Scanner scanner = new Scanner(System.in); // TODO: 프로그램 구현 + } -} +} \ No newline at end of file diff --git a/src/main/java/subway/domain/Line.java b/src/main/java/subway/domain/Line.java index f4d738d5a..fffcd30fb 100644 --- a/src/main/java/subway/domain/Line.java +++ b/src/main/java/subway/domain/Line.java @@ -10,6 +10,4 @@ public Line(String name) { public String getName() { return name; } - - // 추가 기능 구현 } diff --git a/src/main/java/subway/domain/Section.java b/src/main/java/subway/domain/Section.java new file mode 100644 index 000000000..e45a9b285 --- /dev/null +++ b/src/main/java/subway/domain/Section.java @@ -0,0 +1,13 @@ +package subway.domain; + +public class Section { + private String name; + + public Section(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} diff --git a/src/main/java/subway/domain/SectionRepository.java b/src/main/java/subway/domain/SectionRepository.java new file mode 100644 index 000000000..bd1290bed --- /dev/null +++ b/src/main/java/subway/domain/SectionRepository.java @@ -0,0 +1,22 @@ +package subway.domain; + +import java.util.*; + +public class SectionRepository { + private static final Map> sections = new HashMap<>(); + + public static Map> sections() { + return Collections.unmodifiableMap(sections); + } + + public static void addSection(String lineName, Section section) { + if (!sections.containsKey(lineName)) { + sections.put(lineName, new ArrayList<>()); + } + sections.get(lineName).add(section); + } + + public static boolean deleteSectionByLineAndStation(String line, String station) { + return sections.get(line).removeIf(section -> Objects.equals(section.getName(), station)); + } +} diff --git a/src/main/java/subway/domain/Station.java b/src/main/java/subway/domain/Station.java index bdb142590..6df2edada 100644 --- a/src/main/java/subway/domain/Station.java +++ b/src/main/java/subway/domain/Station.java @@ -10,6 +10,4 @@ public Station(String name) { public String getName() { return name; } - - // 추가 기능 구현 }