diff --git a/src/main/java/Application.java b/src/main/java/Application.java new file mode 100644 index 00000000..2588f582 --- /dev/null +++ b/src/main/java/Application.java @@ -0,0 +1,10 @@ +import controller.LottoController; + +import java.io.IOException; + +public class Application { + + public static void main(String [] args) throws IOException { + LottoController lottoController = new LottoController(); + } +} diff --git a/src/main/java/controller/LottoController.java b/src/main/java/controller/LottoController.java new file mode 100644 index 00000000..42b66c53 --- /dev/null +++ b/src/main/java/controller/LottoController.java @@ -0,0 +1,48 @@ +package controller; + +import model.AutoLotto; +import model.Lotto; +import model.LottoList; +import view.InputView; +import view.OutputView; + +import java.util.ArrayList; +import java.util.List; + +public class LottoController { + private InputView inputView = new InputView(); + private OutputView outputView = new OutputView(); + private AutoLotto autoLotto; + private LottoList lottoList; + + + public LottoController(){ + lottoStart(); + } + public void lottoStart() { + int price = inputMoney(); + viewLotto(price); + } + + public int inputMoney(){ + return inputView.inputPrice(); + } + public void viewLotto(int price){ + int count = price/1000; + outputView.countPrint(count); + lottoList = makeLottolist(count); + } + public LottoList makeLottolist(int count){ + for(int i=0; i lotto = new ArrayList<>(); + AutoLotto autoLotto = new AutoLotto(); + lotto = autoLotto.getAutoLotto(); + outputView.lottoPrint(lotto); + return new Lotto(lotto); + } +} diff --git a/src/main/java/model/AutoLotto.java b/src/main/java/model/AutoLotto.java new file mode 100644 index 00000000..287069a6 --- /dev/null +++ b/src/main/java/model/AutoLotto.java @@ -0,0 +1,36 @@ +package model; + +import java.util.*; + +public class AutoLotto { + + private static final int MAX_LOTTO_NUMBER = 45; + private static final int CNT_LOTTO_NUMBER = 6; + + private static List lottoNums = new ArrayList<>(); + public AutoLotto(){ + createAutoLotto(); + } + public void createAutoLotto(){ + Random random = new Random(); + Set uniqueNumbers = new TreeSet<>(); // 중복되지 않는 숫자를 보장하는 TreeSet 사용 + + // 로또 번호 생성 + while (uniqueNumbers.size() < CNT_LOTTO_NUMBER) { + int num = random.nextInt(MAX_LOTTO_NUMBER) + 1; + uniqueNumbers.add(num); + } + + lottoNums = new ArrayList<>(uniqueNumbers); + + } + public List sortLotto(List lottoNums){ + List sortLottoList = new ArrayList<>(lottoNums); + sortLottoList.sort(Comparator.naturalOrder()); + return sortLottoList; + } + public List getAutoLotto(){ + return lottoNums; + } + +} diff --git a/src/main/java/model/Lotto.java b/src/main/java/model/Lotto.java new file mode 100644 index 00000000..a3bd0f70 --- /dev/null +++ b/src/main/java/model/Lotto.java @@ -0,0 +1,16 @@ +package model; + +import java.util.List; + +public class Lotto { + private static final int BONUS_NUMBER_INDEX = 6; + private final List numbers; + + public Lotto(List numbers) { + this.numbers = numbers; + } + + public ListgetNumbers(){ + return numbers; + } +} diff --git a/src/main/java/model/LottoList.java b/src/main/java/model/LottoList.java new file mode 100644 index 00000000..f15102d7 --- /dev/null +++ b/src/main/java/model/LottoList.java @@ -0,0 +1,22 @@ +package model; + +import java.util.ArrayList; +import java.util.List; + +public class LottoList { + List lottoList = new ArrayList<>(); + private int totalPrice; + + public LottoList(Lotto lotto){ + lottoList.add(lotto); + } + public List getLottoList(){ + return lottoList; + } + public void setTotalPrice(int reward){ + this.totalPrice+=reward; + } + public int getTotalPrice(){ + return totalPrice; + } +} diff --git a/src/main/java/view/InputView.java b/src/main/java/view/InputView.java new file mode 100644 index 00000000..dfc734d7 --- /dev/null +++ b/src/main/java/view/InputView.java @@ -0,0 +1,16 @@ +package view; + +import java.util.Scanner; + +public class InputView { + + private final static String INPUT_PRICE = "구입금액을 입력해 주세요."; + private static final Scanner scanner = new Scanner(System.in); + + + public int inputPrice(){ + System.out.println(INPUT_PRICE); + int price = scanner.nextInt(); + return price; + } +} diff --git a/src/main/java/view/OutputView.java b/src/main/java/view/OutputView.java new file mode 100644 index 00000000..7226ff81 --- /dev/null +++ b/src/main/java/view/OutputView.java @@ -0,0 +1,16 @@ +package view; + +import java.util.List; + +public class OutputView { + + private final static String BUY_MESSAGE = "개를 구매했습니다."; + + public void countPrint (int count){ + System.out.println("\n" + count + BUY_MESSAGE); + + } + public void lottoPrint(List numbers) { + System.out.println(numbers); + } +}