-
Notifications
You must be signed in to change notification settings - Fork 275
Expand file tree
/
Copy pathMainController.java
More file actions
74 lines (65 loc) · 3.06 KB
/
Copy pathMainController.java
File metadata and controls
74 lines (65 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package subway.Controller;
import subway.View.InputView;
import subway.View.OutputView;
import subway.domain.LineRepository;
import subway.domain.Station;
import subway.domain.StationRepository;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import subway.domain.Line;
public class MainController {
private static final String MAIN_CONTROLLER_MENU_QUIT="Q";
private static final String MAIN_CONTROLLER_PATH_SEARCH="1";
private static final List<String> STATION= Arrays.asList("교대역", "강남역", "역삼역", "남부터미널역", "양재역", "양재시민의숲역", "매봉역");
private static final List<String> line=Arrays.asList("2호선","3호선","신분당선");
Scanner scanner;
OutputView outputView=new OutputView();
InputView inputView=new InputView();
PathController pathController=new PathController();
LineRepository lineRepository=new LineRepository();
public MainController(Scanner scanner){
this.scanner=scanner;
initializeSubwayLine();
initializeSubwayStation();
initializeDistance();
initializeTime();
startMainMenu(scanner);
}
public void startMainMenu(Scanner scanner) {
while(true) {
outputView.setMainMenuMainDisplay();
String tmpSaveMenuChoice = inputView.getChooseFunction(scanner);
if (tmpSaveMenuChoice.equals(MAIN_CONTROLLER_MENU_QUIT)) {
break;
}
if (tmpSaveMenuChoice.equals(MAIN_CONTROLLER_PATH_SEARCH)) {
pathController.startPathMenu(scanner);
continue;
}
}
}
public void initializeSubwayStation() {
for(int i=0;i<STATION.size();i++) {
StationRepository.addStation(new Station(STATION.get(i)));
}
}
public void initializeSubwayLine() {
lineRepository.initializeLine(line.get(0),Arrays.asList(STATION.get(0),STATION.get(1),STATION.get(2)));
lineRepository.initializeLine(line.get(1),Arrays.asList(STATION.get(0),STATION.get(3),STATION.get(4),STATION.get(6)));
lineRepository.initializeLine(line.get(2),Arrays.asList(STATION.get(1),STATION.get(4),STATION.get(5)));
}
public void initializeTime() {
List<Integer> time=Arrays.asList(3,2,5,1,8);
lineRepository.getLine(line.get(0)).setTime(Arrays.asList(time.get(0), time.get(0)));
lineRepository.getLine(line.get(1)).setTime(Arrays.asList(time.get(1), time.get(2),time.get(3)));
lineRepository.getLine(line.get(2)).setTime(Arrays.asList(time.get(4), time.get(0)));
}
public void initializeDistance() {
List<Integer> distance=Arrays.asList(2,3,6,10,1);
lineRepository.getLine(line.get(0)).setDistance(Arrays.asList(distance.get(0), distance.get(0)));
lineRepository.getLine(line.get(1)).setDistance(Arrays.asList(distance.get(1), distance.get(2),distance.get(4)));
lineRepository.getLine(line.get(2)).setDistance(Arrays.asList(distance.get(0), distance.get(3)));
}
}