-
Notifications
You must be signed in to change notification settings - Fork 39
Expand file tree
/
Copy pathLottoController.java
More file actions
36 lines (30 loc) · 1.48 KB
/
LottoController.java
File metadata and controls
36 lines (30 loc) · 1.48 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
package lotto.controller;
import lotto.domain.*;
import lotto.view.InputView;
import lotto.view.OutputView;
import java.util.Map;
public class LottoController {
public void lottoStart() {
try {
int pruchaseAmount = InputView.getPurchaseAmount();
LottoGenerator lottoGenerator = new LottoGenerator(pruchaseAmount);
Lottos lottos = new Lottos(lottoGenerator.generateLottos());
printLottosInfromation(lottoGenerator, lottos);
WinningLotto winningLotto = new WinningLotto(InputView.getLottoNumber(), InputView.getLottoBonusNumber());
Map<WinningRank, Integer> winningDetails = WinningStatistics.getWinningDetails(lottos, winningLotto);
printWinningInformation(winningDetails, pruchaseAmount);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
private void printLottosInfromation(LottoGenerator lottoGenerator, Lottos lottos) {
OutputView.printHowManyLottosUserPurchased(lottoGenerator.getLottoQuantity());
OutputView.printLottos(lottos);
}
private void printWinningInformation(Map<WinningRank, Integer> winningDetails, int purchaseAmount) {
OutputView.printWinningStatistics();
OutputView.printWinningDetails(winningDetails);
long winningAmount = WinningStatistics.getWinningAmount(winningDetails);
OutputView.printLottoYield(WinningStatistics.getLottoYield(winningAmount, purchaseAmount));
}
}