From d9441fe221643999ba29487bfebe86b5c3c0f977 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Thu, 1 Apr 2021 16:17:42 +0900 Subject: [PATCH 01/31] =?UTF-8?q?docs(guide):=20=EA=B5=AC=ED=98=84?= =?UTF-8?q?=ED=95=A0=20=EA=B8=B0=EB=8A=A5=20=EB=AA=A9=EB=A1=9D=EA=B3=BC=20?= =?UTF-8?q?=EC=98=88=EC=99=B8=20=EC=B2=98=EB=A6=AC=20=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 7c9722c..0bd5059 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,21 @@ # ๐Ÿš€ ๋กœ๋˜ 1๋‹จ๊ณ„ - ์ž๋™ +## ๊ตฌํ˜„ํ•  ๊ธฐ๋Šฅ ๋ชฉ๋ก +- [ ] ๊ตฌ์ž…๊ธˆ์•ก์„ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. +- [ ] ๊ตฌ์ž…๊ธˆ์•ก์— ๋”ฐ๋ผ ๋ช‡๊ฐœ์˜ ๋กœ๋˜๋ฅผ ๊ตฌ์ž…ํ–ˆ๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค. +- [ ] ๋กœ๋˜์˜ ๊ฐฏ์ˆ˜์— ๋งž์ถ”์–ด 1~45๊นŒ์ง€ 6๊ฐœ์˜ ๋žœ๋ค ์ˆซ์ž ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค. +- [ ] ์ง€๋‚œ ์ฃผ ๋‹ด์ฒญ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. +- [ ] ๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. +- [ ] ๋‹ด์ฒญ ํ†ต๊ณ„๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. +- [ ] ๋กœ๋˜์™€ ๋‹ด์ฒญ ๋ฒˆํ˜ธ๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ฐ ๋ช‡๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ๋งž์•˜๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค. +- [ ] ์ด ์ˆ˜์ต๋ฅ ์„ ์†Œ์ˆซ์  2๋ฒˆ์งธ ์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅํ•œ๋‹ค. + +## ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ชฉ๋ก +- [ ] ๊ตฌ์ž…๊ธˆ์•ก์ด 0์›์ผ ๊ฒฝ์šฐ ๋กœ๋˜ ํ•œ์žฅ์˜ ๊ฐ€๊ฒฉ์ด 1000์›์ด๋ผ๋Š” ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ `๊ตฌ์ž…๊ธˆ์•ก์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”` ๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. +- [ ] ๋กœ๋˜ ๋„˜๋ฒ„์˜ ๋ฒ”์œ„๋Š” 1~45๊นŒ์ง€๋กœ ์ œํ•œํ•˜๋ฉฐ ์ด์™ธ์˜ ์ˆซ์ž๋Š” ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. +- [ ] ๋‹ด์ฒญ๋ฒˆํ˜ธ์™€ ๋ณด๋„ˆ์Šค ๋ฒˆํ˜ธ๊ฐ€ ๊ฐ™์€ ์ƒํ™ฉ์€ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. +- [ ] ์ €๋ฒˆ์ฃผ ๋‹ด์ฒญ๋ฒˆํ˜ธ๋“ค์ด 2๊ฐœ ์ด์ƒ ์ค‘๋ณต๋˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. + ## ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ - ๋กœ๋˜ ๊ตฌ์ž… ๊ธˆ์•ก์„ ์ž…๋ ฅํ•˜๋ฉด ๊ตฌ์ž… ๊ธˆ์•ก์— ํ•ด๋‹นํ•˜๋Š” ๋กœ๋˜๋ฅผ ๋ฐœ๊ธ‰ํ•ด์•ผ ํ•œ๋‹ค. - ๋กœ๋˜ 1์žฅ์˜ ๊ฐ€๊ฒฉ์€ 1000์›์ด๋‹ค. From 16b39527b9318b623ce1c8be22678ed335f9d309 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Thu, 1 Apr 2021 23:09:19 +0900 Subject: [PATCH 02/31] =?UTF-8?q?feat:=20Lotto=20=EA=B0=9D=EC=B2=B4=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=20=EB=B0=8F=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=BC=80=EC=9D=B4=EC=8A=A4=20=EC=9E=91=EC=84=B1,=20NotValidLot?= =?UTF-8?q?toLengthException=20=EC=98=88=EC=99=B8=EC=B2=98=EB=A6=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/domain/Lotto.java | 25 +++++++++++ .../NotValidLottoLengthException.java | 9 ++++ src/test/java/lotto/domain/LottoTest.java | 44 +++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 src/main/java/lotto/domain/Lotto.java create mode 100644 src/main/java/lotto/domain/exception/NotValidLottoLengthException.java create mode 100644 src/test/java/lotto/domain/LottoTest.java diff --git a/src/main/java/lotto/domain/Lotto.java b/src/main/java/lotto/domain/Lotto.java new file mode 100644 index 0000000..548a9cb --- /dev/null +++ b/src/main/java/lotto/domain/Lotto.java @@ -0,0 +1,25 @@ +package lotto.domain; + +import lotto.domain.exception.NotValidLottoLengthException; + +import java.util.List; + +public class Lotto { + private final static int LOTTO_NUMBER_COUNT = 6; + private final List numbers; + + public Lotto(List numbers ) { + checkLottoLength(numbers); + this.numbers = numbers; + } + + private void checkLottoLength(List numbers){ + if(numbers.size() !=LOTTO_NUMBER_COUNT){ + throw new NotValidLottoLengthException(); + } + } + + public List getLotto(){ + return this.numbers; + } +} diff --git a/src/main/java/lotto/domain/exception/NotValidLottoLengthException.java b/src/main/java/lotto/domain/exception/NotValidLottoLengthException.java new file mode 100644 index 0000000..a8704c2 --- /dev/null +++ b/src/main/java/lotto/domain/exception/NotValidLottoLengthException.java @@ -0,0 +1,9 @@ +package lotto.domain.exception; + +public class NotValidLottoLengthException extends RuntimeException { + private static final String MESSAGE = "๋ฒˆํ˜ธ๋Š” 6๊ฐœ๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค."; + + public NotValidLottoLengthException() { + super(MESSAGE); + } +} diff --git a/src/test/java/lotto/domain/LottoTest.java b/src/test/java/lotto/domain/LottoTest.java new file mode 100644 index 0000000..093f4de --- /dev/null +++ b/src/test/java/lotto/domain/LottoTest.java @@ -0,0 +1,44 @@ +package lotto.domain; + +import lotto.domain.exception.NotValidLottoLengthException; +import org.junit.jupiter.api.Test; + +import java.util.List; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + +class LottoTest { + @Test + void ๋กœ๋˜_๊ฐ์ฒด๋ฅผ_์ƒ์„ฑํ•œ๋‹ค(){ + //given + List numbers = List.of(6,7,8,9,10,11); + List actual = List.of(6,7,8,9,10,11); + Lotto lotto = new Lotto(numbers); + + //when + List expected = lotto.getLotto(); + System.out.println(expected); + //then + assertThat(expected).isEqualTo(actual); + } + @Test + void ๋กœ๋˜_์ˆซ์ž๊ฐ€_6๊ฐœ๋ฅผ_์ดˆ๊ณผํ• _๊ฒฝ์šฐ_NotValidLottoLengthException์„_๋˜์ง„๋‹ค(){ + //given + List numbers = List.of(6,7,8,9,10,11,12); + + //when + //then + assertThatExceptionOfType(NotValidLottoLengthException.class). + isThrownBy(() -> new Lotto(numbers)); + } + @Test + void ๋กœ๋˜_์ˆซ์ž๊ฐ€_6๊ฐœ_๋ฏธ๋งŒ์ผ_๊ฒฝ์šฐ_NotValidLottoLengthException์„_๋˜์ง„๋‹ค(){ + //given + List numbers = List.of(6,7,8,9,10); + + //when + //then + assertThatExceptionOfType(NotValidLottoLengthException.class). + isThrownBy(() -> new Lotto(numbers)); + } +} \ No newline at end of file From 44d3e1a3b3ec475a7e9a558ad7e778ae7f522f62 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Thu, 1 Apr 2021 23:10:35 +0900 Subject: [PATCH 03/31] =?UTF-8?q?feat:=20=EB=A1=9C=EB=98=90=20=EB=84=98?= =?UTF-8?q?=EB=B2=84=EB=A5=BC=20=EB=9E=9C=EB=8D=A4=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=ED=95=B4=EC=A3=BC=EB=8A=94=20RandomLottoNumb?= =?UTF-8?q?erStrategy=20class=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/strategy/RandomLottoNumberStrategy.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java diff --git a/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java b/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java new file mode 100644 index 0000000..aaa7427 --- /dev/null +++ b/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java @@ -0,0 +1,11 @@ +package lotto.domain.strategy; + +import java.util.Random; + +public class RandomLottoNumberStrategy { + private final static int UPPER_BOUND = 46; + + public int decideNumber(){ + return new Random().nextInt(UPPER_BOUND); + } +} From a6ef619f8c09b33b596f910a7bfe09c96e6e5810 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Thu, 1 Apr 2021 23:45:07 +0900 Subject: [PATCH 04/31] =?UTF-8?q?feat:=20RandomLottoNumberStrategy=20class?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1=20=EB=B0=8F=20shuffle=EC=9D=84=20?= =?UTF-8?q?=ED=86=B5=ED=95=B4=EC=84=9C=20=EC=A4=91=EB=B3=B5=EB=90=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EB=9E=9C=EB=8D=A4=EC=88=AB?= =?UTF-8?q?=EC=9E=90=206=EA=B0=9C=EB=A5=BC=20=EB=A6=AC=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EB=A1=9C=20=EB=B0=98=ED=99=98=ED=95=98=EB=8A=94=20method=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../strategy/RandomLottoNumberStrategy.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java b/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java index aaa7427..0086b22 100644 --- a/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java +++ b/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java @@ -1,11 +1,31 @@ package lotto.domain.strategy; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import java.util.Random; public class RandomLottoNumberStrategy { - private final static int UPPER_BOUND = 46; + private final static int UPPER_BOUND = 45; + private final static int LOWER_BOUND = 1; + private final static int LOTTO_NUMBER_COUNT = 6; - public int decideNumber(){ - return new Random().nextInt(UPPER_BOUND); + public List getRandomLottoNumbers(){ + List lottoNumberRange = setLottoNumberRange(); + return getLottoNumbers(lottoNumberRange); } + + private List setLottoNumberRange(){ + ArrayList lottoNumberIndex = new ArrayList<>(); + for (int lottoNumber = LOWER_BOUND; lottoNumber < UPPER_BOUND; lottoNumber++) { + lottoNumberIndex.add(lottoNumber); + } + return lottoNumberIndex; + } + + private List getLottoNumbers(List lottoNumberRange){ + Collections.shuffle(lottoNumberRange); + return lottoNumberRange.subList(0,LOTTO_NUMBER_COUNT); + } + } From 4a1c382f19388b09bed2a81c12ba5d478e304e07 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 05:00:14 +0900 Subject: [PATCH 05/31] feat: add business logic --- README.md | 23 ++++++- .../classes/lotto/LottoApplication.class | Bin 0 -> 4590 bytes .../lotto/domain/EnumWinningStatus.class | Bin 0 -> 2946 bytes .../classes/lotto/domain/LottoFactory.class | Bin 0 -> 707 bytes .../classes/lotto/domain/LottoMachine.class | Bin 0 -> 5361 bytes .../classes/lotto/domain/WinningStatus.class | Bin 0 -> 1726 bytes .../NotValidLottoLengthException.class | Bin 0 -> 505 bytes .../LastWeekWinningBonusBall.class | Bin 0 -> 526 bytes .../LastWeekWinningLotto.class | Bin 0 -> 785 bytes .../lotto/domain/lottoticket/Lotto.class | Bin 0 -> 218 bytes .../domain/lottoticket/LottoTicket.class | Bin 0 -> 1085 bytes .../lotto/domain/lottoticket/Lottos.class | Bin 0 -> 738 bytes .../lottoticket/NumberOfLottoTicket.class | Bin 0 -> 664 bytes .../LottoWinningBonusBallResult.class | Bin 0 -> 795 bytes .../LottoWinningResult.class | Bin 0 -> 750 bytes .../strategy/RandomLottoNumberStrategy.class | Bin 0 -> 1698 bytes src/main/java/empty.txt | 0 src/main/java/lotto/LottoApplication.java | 54 +++++++++++++++ .../java/lotto/domain/EnumWinningStatus.java | 28 ++++++++ src/main/java/lotto/domain/LottoFactory.java | 19 ++++++ src/main/java/lotto/domain/LottoMachine.java | 63 ++++++++++++++++++ src/main/java/lotto/domain/WinningStatus.java | 33 +++++++++ .../LastWeekWinningBonusBall.java | 13 ++++ .../LastWeekWinningLotto.java | 18 +++++ .../java/lotto/domain/lottoticket/Lotto.java | 7 ++ .../LottoTicket.java} | 11 ++- .../java/lotto/domain/lottoticket/Lottos.java | 15 +++++ .../lottoticket/NumberOfLottoTicket.java | 19 ++++++ .../LottoWinningBonusBallResult.java | 15 +++++ .../LottoWinningResult.java | 15 +++++ .../strategy/RandomLottoNumberStrategy.java | 4 +- src/test/java/empty.txt | 0 src/test/java/lotto/domain/LottoTest.java | 7 +- 33 files changed, 333 insertions(+), 11 deletions(-) create mode 100644 out/production/classes/lotto/LottoApplication.class create mode 100644 out/production/classes/lotto/domain/EnumWinningStatus.class create mode 100644 out/production/classes/lotto/domain/LottoFactory.class create mode 100644 out/production/classes/lotto/domain/LottoMachine.class create mode 100644 out/production/classes/lotto/domain/WinningStatus.class create mode 100644 out/production/classes/lotto/domain/exception/NotValidLottoLengthException.class create mode 100644 out/production/classes/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.class create mode 100644 out/production/classes/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.class create mode 100644 out/production/classes/lotto/domain/lottoticket/Lotto.class create mode 100644 out/production/classes/lotto/domain/lottoticket/LottoTicket.class create mode 100644 out/production/classes/lotto/domain/lottoticket/Lottos.class create mode 100644 out/production/classes/lotto/domain/lottoticket/NumberOfLottoTicket.class create mode 100644 out/production/classes/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.class create mode 100644 out/production/classes/lotto/domain/lottowinningresult/LottoWinningResult.class create mode 100644 out/production/classes/lotto/domain/strategy/RandomLottoNumberStrategy.class delete mode 100644 src/main/java/empty.txt create mode 100644 src/main/java/lotto/LottoApplication.java create mode 100644 src/main/java/lotto/domain/EnumWinningStatus.java create mode 100644 src/main/java/lotto/domain/LottoFactory.java create mode 100644 src/main/java/lotto/domain/LottoMachine.java create mode 100644 src/main/java/lotto/domain/WinningStatus.java create mode 100644 src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.java create mode 100644 src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.java create mode 100644 src/main/java/lotto/domain/lottoticket/Lotto.java rename src/main/java/lotto/domain/{Lotto.java => lottoticket/LottoTicket.java} (78%) create mode 100644 src/main/java/lotto/domain/lottoticket/Lottos.java create mode 100644 src/main/java/lotto/domain/lottoticket/NumberOfLottoTicket.java create mode 100644 src/main/java/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.java create mode 100644 src/main/java/lotto/domain/lottowinningresult/LottoWinningResult.java delete mode 100644 src/test/java/empty.txt diff --git a/README.md b/README.md index 0bd5059..8fd3499 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,13 @@ 1, 2, 3, 4, 5, 6 ๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”. 7 - +class 3๊ฐœ +lastweek () +bonusnumbe() +lastweekWinnerLotto +.method(lastweek, bonus) +if(5๊ฐœ ๋งž์„ ์‹œ์—) + ๋‹น์ฒจ ํ†ต๊ณ„ --------- 3๊ฐœ ์ผ์น˜ (5000์›)- 1๊ฐœ @@ -70,3 +76,18 @@ - ๋กœ๋˜ ์ž๋™ ์ƒ์„ฑ์€ Collections.shuffle() ๋ฉ”์†Œ๋“œ ํ™œ์šฉํ•œ๋‹ค. - Collections.sort() ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ์ •๋ ฌ ๊ฐ€๋Šฅํ•˜๋‹ค. - ArrayList์˜ contains() ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์–ด๋–ค ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ์œ ๋ฌด๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค. + + +- RandomLottoNumber (์ด๊ฑฐ๋ฅผ strategy์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•ด์•ผ๋˜๋‚˜, interface๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•˜๋Š”์ง€) +- Lotto (๋กœ๋˜ ํ•œ์ค„์งœ๋ฆฌ) +Lottos (๋กœ๋˜ ์—ฌ๋Ÿฌ๊ฐœ๋ฌถ์Œ) +- NumberOfLottoTicket +LottoWinnerNumber(์ง€๋‚œ์ฃผ ๋‹ด์ฒญ๋ฒˆํ˜ธ) +LottoWinnerBonusNumber(์ง€๋‚œ์ฃผ ๋ณด๋„ˆ์Šค๋ฒˆํ˜ธ) +LottoWinningStrategy(๋งž์œผ๋ฉด countup, ์•ˆ๋งž์œผ๋ฉด ๊ทธ๋Œ€๋กœ) +LottoRanks(๋งž์€ ๊ฐœ์ˆ˜ ๋ณ„๋กœ ๋กœ๋˜ ๊ฐฏ์ˆ˜ ๋‹ด๋‹น ๊ฐ์ฒด) +LottoProfitRateCalculator + +์ค‘๊ฐ„์ค‘๊ฐ„์— validator ๋ฐ exception ์ถ”๊ฐ€ +Printer +Scanner \ No newline at end of file diff --git a/out/production/classes/lotto/LottoApplication.class b/out/production/classes/lotto/LottoApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..17f18a596c83b91afeffcfcedd9cc8d150f710a8 GIT binary patch literal 4590 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 literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/LottoFactory.class b/out/production/classes/lotto/domain/LottoFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..76da0cbe687d7a161f8205c21acfba716d7eb0d5 GIT binary patch literal 707 zcmb7CO;5r=5Pe$;2v!QkFT{i1_%Qau4fTKtr$!Ss7>`S7a7o!sN~`f_c_1bp`~m(b zWsf|+vjp>-;QUV8!{9wgcRWw zL$1{xm9T|U5oH70Fc=!X3PWX2)SL@xJ24n?H&nqJgO!{;3Mqx0-g%42C$XNh!bret zni3=_smKbe9~Z3{Fi~Y_W>p7DMvDRW{eSt(jpWzpeTJ~Lkw99uzY%A>XnVwaoQ0{a+1=phkZgMfCDPS67P`mH1ZpSG#vc`y$8k# literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/LottoMachine.class b/out/production/classes/lotto/domain/LottoMachine.class new file mode 100644 index 0000000000000000000000000000000000000000..d41a6c005db228441134afeb9f274ab0329df424 GIT binary patch literal 5361 zcmcIo`+pSG760C3cPH5l5)uL|V0Z}N`MHht&`0p8L~T@?#zPN zR{Ovz_F^i2QL7=@* za@|sTs8lp8JH6Mg6bCHZw(OC9*KjLN5*q3o(F9$?JRLV-zCbF%l9T*>Mt;Y-%&0bXL6R~Cee)gBo?Ag!y+Avu|!}+M3{PUt^Anj zrj;g+K;ww%R-aosyK*yvrOa#-mSUNPI|C?^XQdRvFyn9Nef@#=Usp2*r@5Xk4 zB@q=p&3Z}|n=WhZtPPs3UKxwG>bMOVy3`mN5@_?O!Vc^@k;G2y(y&{{?RXCpLIsB+ z>9t*RM0!R$WfUsr!C@I-y*`X#ifkkHphv@8?kF&z6lr@J`HVs(rs1I9T z$u`djY^+gJk@@CSV_Q|rpr{S%$b)g2a8w)!EUT6nMdyvC{UB*!%NW)%f>B0*YdVak zl@apcik)|@lFiUEhpfEenyh;#F{YuQqX-7h;+eV^kxdPTtpbasz-{3~nnPl^hD2nj zwZ?UP1e6lbduho^dRG!%aCKBIN&@B=y?#3%U9#bjg7{+$NQ|Q8JD8OkKBnV~vWe+~UWq&=OA|rpDGl*9 zKgX`_mBu5+V1Xkoxl-OJ95c$6eD?=q?x@AayDZvDRK)r_gRH>3J1r+)wu+YRHP`bs z0j{hJ_a~<|>8{tC?|?7Bgt^=BdA!@sr{ZK zdKu_Sp1`^&kh75SJ2w+eO%eK4Z^Plx0SgP!ILOH&CU9#F>vf~d7Fr`QfIwj9jY|!< zscWk;%&&+ZptREOchOBEsh5YT12F-c=O$lR&9uO-8clDkv@@>#K2UZ0wi}Y?anS}{ z+29xWxpS#n{aHAoS$Jl=nu%*`f^_E`F}Rznb%*GJ?RJ>h->hV>i?~|2B=I~R9P(p* z#<*V_8vCsgW_+d0;?Wsy2eNO4SDX>j#Z+jqoY`C279VOAxz)X7qXJG!n;npf(3`pz zGGSvMdb_gpKi)Ra4MDXA1<~pmvHWTY=S{CF7{$RMqvL8j+m6k$=gbijT_;$4EPKdg z3r+TyD&@Sn&ywYSfkMzP;+tf{XCb7gTy|??yw7w;OGD251b&yq@9_r>f7J0Oye6=E zX4`Aor%GdHI;T`4hcWE!$po5;;kVbriup|50{abns9-uBxl(DYGM)|T&&>=sQsI#Z z;}IstJDc>Dyf$yRb^FWq@Ql;X^JBId8KUwRdEWS|j#uz%GhStm_u95u?x7PM)6wux zfwi-6n#*Jj|K>^k+N5j-9zIybMeDe|6a4eQ&TE3t{3O8Zm-x0D^=huUdlI618rtzm zG`@)BbDXQgmwA;R5`cM#k^d`v(mi^76<_0lQ^77OylVBRBRFh8EqPOA5Uqi#3W8o z@(W0&8YXbhfHW?qjN8M59QaM45p8JUH-)W8@yNE6N3G@P<2Qk$Xve)+fl;2>$FUj? zPx%j^1Lv@ohOfg@JjP2<&Jv)V{Ood`b~TWDJ-&e_DYcLE-^8~F;#Ta!xA7fr{Rxl{ zo_uxD|Vh6$Vsg-`wVL|Y;in*z^5Ph;&y#sXvK<5Hhb*5M_b&1ei0O~%IA zgt&O+ja2*+WqCect>kW^gOHt+ZS6-N&hc!JtD(Zf@Gig5)Q3DRFxk9bs<1FFjbRn;RaPP{cmt{b E0!T0p8UO$Q literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/WinningStatus.class b/out/production/classes/lotto/domain/WinningStatus.class new file mode 100644 index 0000000000000000000000000000000000000000..4e9cce9f46a90627074fb7beedbf9f3aa088499a GIT binary patch literal 1726 zcmaJ>T~ixX7=BJR`;o9nSW18tq?UdpTidh>egzQ{gG2*q*$@oQh)Wt_JDXi6*|g)G zmyXx|3@o>^@G6A z-t}9y<7Iap&vU#(E3kuZCkBS74jBqV%qo4pzqwW|Y%t80Uu~1)Mw*ToH%hISYQ?_Q z{%)zdv7fJO?O6NywQ`x$Ms(<$7C)hJ_%$74eYmo--M8lOxDJEEBh`)VV(69Q=X6XW z$)H}Ut(A9*7Q@^ZXC)ZNG-gyJb);~fL2kId*CaRTO!=OD-_E+WcbKgl+-o+1TpV+F zUB$eP3wVPvJ0TRkZi`~xx7}{D@-@R!dceBi+MP~r0I-5Kbu~8_fjbcX7j#_0Wd>#0 z@tk0VAvx$Ov@B(6ywPW zQZVm(-A>+iT{79zAWILHengxYi#&rRhM8f3OM4VsLrh}No_?o6myrDXD-B~3@btC@ zgF9H!@ex+J1fm}uhWT{nOcAKu|ESS|f0z0{R(8DRR=0J~Y*+0Amynx7(#f2qEQ3+@ z8@5}s+YWaT`iXjWi`*Hf^`P+%jvPuiW;ur*jeMJUN?Mf6FnZVwHV67Fr86b!?~&aZ z=p=!Alsr+x)e(KC6hBQNlagy?-1*71qBr`aPG zkN6EFk>|8|ZT1l^nsdjvVou7(FwM#6F|PmezrQ3^OoMCmz= z4dIKw@v3QF>5bRhzvUf}Q6e;gPbs6%P!8+J(#b2A&0lflCqXzVc}j%nmmr5B7&fsr z#Q6Hl#^;9`SB6G5UpAgUZJdbny$d7fL}9>!_9s|f>Or#V(H>N*F864d>PiozR$c8O zVV%}d!)@FN9sK~6iUz*?gZvn`q=X_FZ#}}>4# F{{;@}L?i$J literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/exception/NotValidLottoLengthException.class b/out/production/classes/lotto/domain/exception/NotValidLottoLengthException.class new file mode 100644 index 0000000000000000000000000000000000000000..bb4f58438def55485751fbef265ae68cc560f31c GIT binary patch literal 505 zcmbVJJx>Bb5S<0|5JB`53oGcrf-4jojENy=b5eMQet`|FId;vlXZ!;uL|REKjIofy zPK}Ai5PyI_#e=_KoHc$FCKfg`^WMz9-Ff@+_Vf$@tFUN5h`@>~m6BFNwka1DJF2q- z#ig(+QdOzT8@6uSOf*%i{MC#?gg`F1>yFPJgOk(r+Uw1EFc_vs7stWnVBEhS^@r(k z|2pV(gWgp>29sbI5RJnW#0V_y(?e>xR5Yz!Unt&Y-@*hY*SX+ogFq^4|I9hcD}>B2k#bN=s;L!aQaI3m8L?dIx;Mk7@t_ literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.class b/out/production/classes/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.class new file mode 100644 index 0000000000000000000000000000000000000000..52c2ba058ee2f1e7458a908467d0e3706c1ebd70 GIT binary patch literal 526 zcmbVIJx>Bb6r6V)cXFJ9UswCVG*~#pD|9pM{xWGvO2PGeFh%!7veI}kolnOnK?vj}tX9TaSw92jt zrB-`b!44`uf)G`Ngv-=qnTaN5E|lhH%WN&>(^_e*^t9N;42~Ea6=2Wk)v_njlu$|j zdKwVi)}TG)>&8qZp%yDGZ&&j~E*?aZGI9``u}Ftvq3pZ?-Rw~<3ElYrPOb>esm!(; z<&U$y;NGkjW7${M%jq`uxeX9!9FxNVvuPU?cMkVu>~h`Xsn4_B2b~X4r}+;5HRsg0 z?xDohg9{%v?mAD6f{lIFvnR+^iPa8qw9$f4`#fqKHyGxt zV}*@ciy?aw_K2k93dzrh{SJ>Vy-q+#*$um1(DEXo;}p!QYcXIrbVmpL@A@>w(kSiY z-4Atje7wnf=$WT{uF@Y-uGYr4V%YfuPUd2;n&B|&@>8KVu1q?yJ$*jdqSH6PFhg%y z-vF{Dx<>}=7|&sjY?+WNvIbeJ{svaxeTDfHB3+ZKzrcJV$B2dUF=)pE2}v#$NQPdc{CZry@eM0Uy#W9K literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/lottoticket/Lotto.class b/out/production/classes/lotto/domain/lottoticket/Lotto.class new file mode 100644 index 0000000000000000000000000000000000000000..72d560fdea7a939e831c393b1be958046ab35737 GIT binary patch literal 218 zcmZXOJr2S!6odT=^p6E`09Ifj3tJH*5>h3Go*mMv{MqvR z^Lzo=VwxZ#EUaU8;^J=7v?3Tb^;NMbhakb2Fl*#P3M*SJPUl9|Oh~oj01)P@bs2!3 zjTNQ2b3w=|qg%;+rwGeGVD~G8#be7#tFGAlR$jTjtJT3+U(3V(W|)o%gpq#@kpDA5 O?0w>0gw(4nsQe3AK{*fr literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/lottoticket/LottoTicket.class b/out/production/classes/lotto/domain/lottoticket/LottoTicket.class new file mode 100644 index 0000000000000000000000000000000000000000..4041bb774e061ead7a1d06de8b90e7f961a32483 GIT binary patch literal 1085 zcmaJ=T~8B16g|^V+HMQ9wJ0ir^3e}vAM_2vg9H)#B6fs-ZOLWIrq-&??2yv0(b#CjR>Mi#4N;-5STf2-@10!_1kvi z=u~=IAhD@@rMCp4l1-O*)dcDt-7|O`g)_%O0js(!Zc}r?`zi&Sq3u7d2_(2ebx3|J?K&4%0y?I!`MuJ*VnQw zdmCFDY-l?;=J9Dq`Lb@t(sYlyMDkAHx!soAQ(-&;WBNpKY^%=yg%9tB)l1_=-k)C< zDo(Z?0B^4?klqglJx{(;VZSq`=1}>1 zc_S7WW<#ak)mgPFF7=seQNNg3J0Xu?HkCxH~+tuJj?C8iA71SDcNVV+45*shpLhr#TM zQOM;i_8Cr>(rx!|=3b)Wbcm+bSn73}eFptJ8WL~W6`_AQn+*K8#|Hr+RX6f@(C4vG z@f_6Uji6x<|52TiT>WSN!`*_zS)OC%GpKpZkuMi_R&6wwkHm2H3tX9>!Rkh{*z+%h zx`BMEbF3DELt3atzXDy1S}EBgMH))<()Lg$TOs6{tg5qGuVAgC7Z^_zWw1`)5?K(B z4wD{>n1Fg(jT$y6qP{u%CizMwMM~d#b@H~bJy)|SQZ?DuGmJ-av_vSEfW<^0CCSbO N(xG=KznfI=eF2iPt*-z8 literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/lottoticket/NumberOfLottoTicket.class b/out/production/classes/lotto/domain/lottoticket/NumberOfLottoTicket.class new file mode 100644 index 0000000000000000000000000000000000000000..0306c4fbdd33873d30db02ab2d8c3b6a1f53e700 GIT binary patch literal 664 zcmb7>%TB^T6o&t4p-2G%FM!}B?tmD&aizu$(FD_o(T1%VV8mi+6BtZqd^L?Matw(Dhg_`1kh0s3)4sjBZZ*#sGR?rBNbbuH_ohMz^!b9&p{p76 z1w+<$eX%Iz@UBOeH9P2WufxZ#(vdMH?_DaaG?F++S5_~MD7Fj(49I4k> zJ#p@;50sX4-caMlKJ~59Iy97#M-KGaP_5HV!=SfLwm3HE+$42DTE(x{XJGYuWroBX zGB06HLD|U<&{Bz;K@vq$g+&HR*dnE3%3&oh6=VLjzzc1h}U0{`HRVi7*&!2A`HV0DGj^d3HN^J literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.class b/out/production/classes/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.class new file mode 100644 index 0000000000000000000000000000000000000000..2245781642041f16aacfa3ee319a4f9f8b46635d GIT binary patch literal 795 zcmbtSO-sW-5PjQE8~dTH)=xwaVq3vnyj49^@DvoRRIl3_>Xvm^(v9N3QcwgB{s4cJ zIGa?#TD(X|X5P%~d$W^y|9E`^u!~g(2_&;f<&j2)VP?Q@xhuKqyC>a&-!lxEJ)wj- zU`W>LogAi+%fiWH8hM7M)W&G{QeShS+z8wWrG)AS{xFor^=$q;4z;ujhb=DUX_RA_ zpO~d4yr_%N2UzlO*S8%cdgVWYw(DRRk9me_}N;~%NV1qUxK|4f)v%5gHKq!GCy^NNr zM0SQE7i4Xn(|7@EY(FFWNGOR}`WDH8cv8sG;}8>2jjK_?93eV4VxK49s>G4vw_cUJ n1uTx#Ttc=c-FQOwft*Anl!=0cNFXLjj|AeTmngp+Rj+&k)nLQx literal 0 HcmV?d00001 diff --git a/out/production/classes/lotto/domain/lottowinningresult/LottoWinningResult.class b/out/production/classes/lotto/domain/lottowinningresult/LottoWinningResult.class new file mode 100644 index 0000000000000000000000000000000000000000..215e5daf3a5fe680d858f5abda5591bd25a05181 GIT binary patch literal 750 zcmb7CO-sW-5PjRP*cxlCT0buy#I}L~>8;{L5QLy$rFu>461T*Sq#MP5rJx8N`~m(b zads00(_SQOX5ZV{c{4ln`Stz*po7f{a>!dK*eIgJP#byoo)dV|cg_YQK2!{)10jVv zWXLyL{W4}ywotJ#3!7m-2$c$*>+seS(lOvcNGYTr@o^j|$JOVT33YBL2HW_hBuTnP zGgcySTrpN%hH_8%(o=E78MZUW2MIPQo=C-g9(51t&SEp;*lqP03P<5J1(|n+cG9gU)x^=W5!U)tjws zc?>%frmMl`KF5r3Zz+I-y45jYTXGqI+rdW!h_%gsJ}OHE6ej)l|(PqWiRO`2l{6A7GWs>6yWV1Rs1zcka^Xo_qREfBW_MD}W1l5Jd=K1rZg8&>|4u(qHJA zvTl_!`SmTM;0m+t!Q?#Gyrj@C0-Y7ZtqU--WC$cvqncN_>YC+@W>(y3S*cw`2jT)9rG1Ag0w+?9 z`Aq-{k}Ow4z2!LiwuFu%fp8Sv=uyzC;s}lkBx-%FT=wuPc??qgyZM5Yj5fC4orAc6cJT{P5wOM{9HW z<%Qb(8s2}Miq(&1jhF1IuKeG5Wx26~ z{Qs)bw&?1Gr}O&rK;?MBpE9H9%R-g3#sNDRtMQvUI7=Y9Xjh$rao3bLJ=k!wzv;!Z?NrOoFcntq{)Ao~pCY(LP^iUqFPpe5JTv<9`B%2i(K!IPrOAk-M@>jk2tpaIwaox z{+^ZuA|8PrLIR!aq6=|8R7bfFq1PjGoM7_tx zq6!k?2hnOo`M?H5UlCan?Mm-rFddG!e8QOd-UBWdI-5cO?-Zr literal 0 HcmV?d00001 diff --git a/src/main/java/empty.txt b/src/main/java/empty.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/java/lotto/LottoApplication.java b/src/main/java/lotto/LottoApplication.java new file mode 100644 index 0000000..abb03b8 --- /dev/null +++ b/src/main/java/lotto/LottoApplication.java @@ -0,0 +1,54 @@ +package lotto; + +import lotto.domain.LottoMachine; +import lotto.domain.lastweekwinninglotto.LastWeekWinningBonusBall; +import lotto.domain.lastweekwinninglotto.LastWeekWinningLotto; +import lotto.domain.lottoticket.LottoTicket; +import lotto.domain.lottoticket.Lottos; +import lotto.domain.lottoticket.NumberOfLottoTicket; +import lotto.domain.strategy.RandomLottoNumberStrategy; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Scanner; +import java.util.stream.Collectors; + +public class LottoApplication { + Scanner scanner = new Scanner(System.in); + private static RandomLottoNumberStrategy randomLottoNumberStrategy = new RandomLottoNumberStrategy(); + private static LottoMachine lottoMachine = new LottoMachine(); + public void run(){ + ArrayList lottoDummy = new ArrayList<>(); + System.out.println("๊ตฌ์ž…๊ธˆ์•ก์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."); + int money = scanner.nextInt(); + NumberOfLottoTicket numberOfLottoTicket = new NumberOfLottoTicket(money); + System.out.println(numberOfLottoTicket.getNumberOfLottoTicket()); + for (int i = 0; i < numberOfLottoTicket.getNumberOfLottoTicket(); i++) { + LottoTicket lotto = new LottoTicket(randomLottoNumberStrategy.getRandomLottoNumbers()); + lottoDummy.add(lotto); + } + Lottos lottos = new Lottos(lottoDummy); + for (LottoTicket lotto : lottos.getLottos()) + { + System.out.println(lotto.getLotto()); + } + System.out.println("์ง€๋‚œ ์ฃผ ๋‹น์ฒจ๋ฒˆํ˜ธ๋ฅผ ์ ์–ด์ฃผ์„ธ์š”"); + String winningLottoNumbers = scanner.next(); + List winningLotto = Arrays.asList(winningLottoNumbers.split(",")); + List winningLottoNumber = winningLotto.stream().map(Integer::parseInt).collect(Collectors.toList()); + + LastWeekWinningLotto lastWeekWinningLotto = new LastWeekWinningLotto(winningLottoNumber); + + System.out.println("๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”"); + int bonusBall = scanner.nextInt(); + LastWeekWinningBonusBall lastWeekWinningBonusBall = new LastWeekWinningBonusBall(bonusBall); + lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall); + } + + public static void main(String[] args) { + LottoApplication app = new LottoApplication(); + app.run(); + } +} + diff --git a/src/main/java/lotto/domain/EnumWinningStatus.java b/src/main/java/lotto/domain/EnumWinningStatus.java new file mode 100644 index 0000000..9a4391f --- /dev/null +++ b/src/main/java/lotto/domain/EnumWinningStatus.java @@ -0,0 +1,28 @@ +package lotto.domain; + +import lotto.domain.lottowinningresult.LottoWinningBonusBallResult; +import lotto.domain.lottowinningresult.LottoWinningResult; + +import java.util.ArrayList; +import java.util.List; + +public class EnumWinningStatus { + private List lottoFactories; + + public List mappingMatchedLottoWithWinningMoney(LottoFactory lottoWinningResult){ + ArrayList mappingMatchedLottoWithWinningMoney = new ArrayList<>(); + + for(WinningStatus winningStatus: WinningStatus.values()){ + long lottoWinningResultsCount = lottoFactories.stream(). + filter(lottoMatchCount -> lottoMatchCount.equals(winningStatus.getMatchCount())). + filter(lottoMatchBonusBall -> (lottoMatchBonusBall.equals(winningStatus.hasBonusBall()))). + count(); + mappingMatchedLottoWithWinningMoney.add(lottoWinningResultsCount); + System.out.println("----------------------"); + System.out.println(winningStatus.getMatchCount()); + System.out.println(lottoWinningResultsCount); + } + return mappingMatchedLottoWithWinningMoney; + } + +} diff --git a/src/main/java/lotto/domain/LottoFactory.java b/src/main/java/lotto/domain/LottoFactory.java new file mode 100644 index 0000000..550fb06 --- /dev/null +++ b/src/main/java/lotto/domain/LottoFactory.java @@ -0,0 +1,19 @@ +package lotto.domain; + +import lotto.domain.lottowinningresult.LottoWinningBonusBallResult; +import lotto.domain.lottowinningresult.LottoWinningResult; + +import java.util.ArrayList; +import java.util.Locale; + + +public class LottoFactory { + private LottoWinningResult lottoWinningResult; + private LottoWinningBonusBallResult lottoWinningBonusBallResult; + + public LottoFactory(LottoWinningResult lottoWinningResults, LottoWinningBonusBallResult lottoWinningBonusBallResults){ + this.lottoWinningResult = lottoWinningResults; + this.lottoWinningBonusBallResult = lottoWinningBonusBallResults; + } + +} diff --git a/src/main/java/lotto/domain/LottoMachine.java b/src/main/java/lotto/domain/LottoMachine.java new file mode 100644 index 0000000..8447440 --- /dev/null +++ b/src/main/java/lotto/domain/LottoMachine.java @@ -0,0 +1,63 @@ +package lotto.domain; + +import lotto.domain.lastweekwinninglotto.LastWeekWinningBonusBall; +import lotto.domain.lastweekwinninglotto.LastWeekWinningLotto; +import lotto.domain.lottoticket.LottoTicket; +import lotto.domain.lottoticket.Lottos; +import lotto.domain.lottowinningresult.LottoWinningBonusBallResult; +import lotto.domain.lottowinningresult.LottoWinningResult; + +import java.util.ArrayList; +import java.util.List; + +public class LottoMachine { + EnumWinningStatus enumWinningStatus = new EnumWinningStatus(); + public void Discriminator( + Lottos lottos, + LastWeekWinningLotto lastWeekWinningLotto, + LastWeekWinningBonusBall lastWeekWinningBonusBall + ){ + ArrayList lottoWinningResults = new ArrayList<>(); + ArrayList lottoWinningBonusBallResults = new ArrayList<>(); + + for (LottoTicket lotto : lottos.getLottos()) + { + List lottoMatchedResult = getMatchLottoNumber(lotto, lastWeekWinningLotto); + Boolean lottoMatchedBonusBallResult = getMatchLottoBonusBallNumber(lotto, lastWeekWinningBonusBall); + + int matchLottoNumberCount = getMatchLottoNumberCount(lottoMatchedResult); + lottoWinningBonusBallResults.add(lottoMatchedBonusBallResult); + lottoWinningResults.add(matchLottoNumberCount); + System.out.println(matchLottoNumberCount); + System.out.println(lottoMatchedBonusBallResult); + + } + LottoWinningBonusBallResult lottoWinningBonusBallResult = new LottoWinningBonusBallResult(lottoWinningBonusBallResults); + LottoWinningResult winningResult = new LottoWinningResult(lottoWinningResults); + LottoFactory lottoFactory = new LottoFactory(winningResult, lottoWinningBonusBallResult); + enumWinningStatus.mappingMatchedLottoWithWinningMoney(lottoFactory); + } + + private int getMatchLottoNumberCount(List lottoMatchedResult){ + return (int) lottoMatchedResult.stream().filter(index-> (index)).count(); + } + + private List getMatchLottoNumber(LottoTicket lotto, LastWeekWinningLotto lastWeekWinningLotto){ + List lottoList = lotto.getLotto(); + List lastWeekWinningLottoList = lastWeekWinningLotto.getLotto(); + ArrayList lottoMatchedResult = new ArrayList<>(); + for (int winningLottoNumber = 0; winningLottoNumber < lastWeekWinningLottoList.size(); winningLottoNumber++) { + Boolean isMatchLottoNumber = lottoList.contains(lastWeekWinningLottoList.get(winningLottoNumber)); + lottoMatchedResult.add(isMatchLottoNumber); + } + return lottoMatchedResult; + } + + private Boolean getMatchLottoBonusBallNumber(LottoTicket lotto, LastWeekWinningBonusBall lastWeekWinningBonusBall) { + List lottoBonusBallList = lotto.getLotto(); + int lastWeekWinningBonusBallList = lastWeekWinningBonusBall.getLastWeekWinningBonusBall(); + Boolean isMatchLottoNumber = lottoBonusBallList.contains(lastWeekWinningBonusBallList); + return isMatchLottoNumber; + + } +} diff --git a/src/main/java/lotto/domain/WinningStatus.java b/src/main/java/lotto/domain/WinningStatus.java new file mode 100644 index 0000000..c948f00 --- /dev/null +++ b/src/main/java/lotto/domain/WinningStatus.java @@ -0,0 +1,33 @@ +package lotto.domain; + +import java.util.List; + +public enum WinningStatus { + SIX_MATCH(6, false, 2000000000), + FIVE_MATCH_WITH_BONUS_BALL(5, true, 30000000), + FIVE_MATCH(5, false, 1500000), + FOUR_MATCH(4, false, 50000), + THREE_MATCH(3, false, 5000); + + private final int matchCount; + private final int winningMoney; + private final boolean BonusBall; + + WinningStatus(int matchCount, boolean BonusBall, int winningMoney){ + this.matchCount = matchCount; + this.winningMoney = winningMoney; + this.BonusBall = BonusBall; + } + + public int getMatchCount() { + return this.matchCount; + } + + public boolean hasBonusBall() { + return this.BonusBall; + } + + public int getWinningMoney() { + return this.winningMoney; + } +} diff --git a/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.java b/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.java new file mode 100644 index 0000000..06688a3 --- /dev/null +++ b/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.java @@ -0,0 +1,13 @@ +package lotto.domain.lastweekwinninglotto; + +public class LastWeekWinningBonusBall { + + private final int bonusBall; + public LastWeekWinningBonusBall(int bonusBall){ + this.bonusBall = bonusBall; + } + + public int getLastWeekWinningBonusBall(){ + return this.bonusBall; + } +} diff --git a/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.java b/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.java new file mode 100644 index 0000000..c778ba6 --- /dev/null +++ b/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.java @@ -0,0 +1,18 @@ +package lotto.domain.lastweekwinninglotto; + +import lotto.domain.lottoticket.Lotto; + +import java.util.List; + +public class LastWeekWinningLotto implements Lotto { + private final List winningLotto; + + public LastWeekWinningLotto(List winningLotto){ + this.winningLotto = winningLotto; + } + + @Override + public List getLotto(){ + return this.winningLotto; + } +} diff --git a/src/main/java/lotto/domain/lottoticket/Lotto.java b/src/main/java/lotto/domain/lottoticket/Lotto.java new file mode 100644 index 0000000..5a40ff5 --- /dev/null +++ b/src/main/java/lotto/domain/lottoticket/Lotto.java @@ -0,0 +1,7 @@ +package lotto.domain.lottoticket; + +import java.util.List; + +public interface Lotto { + public List getLotto(); +} diff --git a/src/main/java/lotto/domain/Lotto.java b/src/main/java/lotto/domain/lottoticket/LottoTicket.java similarity index 78% rename from src/main/java/lotto/domain/Lotto.java rename to src/main/java/lotto/domain/lottoticket/LottoTicket.java index 548a9cb..55232e5 100644 --- a/src/main/java/lotto/domain/Lotto.java +++ b/src/main/java/lotto/domain/lottoticket/LottoTicket.java @@ -1,14 +1,13 @@ -package lotto.domain; +package lotto.domain.lottoticket; import lotto.domain.exception.NotValidLottoLengthException; - import java.util.List; -public class Lotto { +public class LottoTicket implements Lotto{ private final static int LOTTO_NUMBER_COUNT = 6; private final List numbers; - public Lotto(List numbers ) { + public LottoTicket(List numbers ) { checkLottoLength(numbers); this.numbers = numbers; } @@ -18,8 +17,8 @@ private void checkLottoLength(List numbers){ throw new NotValidLottoLengthException(); } } - + @Override public List getLotto(){ return this.numbers; } -} +} \ No newline at end of file diff --git a/src/main/java/lotto/domain/lottoticket/Lottos.java b/src/main/java/lotto/domain/lottoticket/Lottos.java new file mode 100644 index 0000000..ec6cff4 --- /dev/null +++ b/src/main/java/lotto/domain/lottoticket/Lottos.java @@ -0,0 +1,15 @@ +package lotto.domain.lottoticket; + +import java.util.List; + +public class Lottos { + private final List lotto; + + public Lottos(List lotto ) { + this.lotto = lotto; + } + + public List getLottos() { + return this.lotto; + } +} diff --git a/src/main/java/lotto/domain/lottoticket/NumberOfLottoTicket.java b/src/main/java/lotto/domain/lottoticket/NumberOfLottoTicket.java new file mode 100644 index 0000000..49916fd --- /dev/null +++ b/src/main/java/lotto/domain/lottoticket/NumberOfLottoTicket.java @@ -0,0 +1,19 @@ +package lotto.domain.lottoticket; + +public class NumberOfLottoTicket { + private final static int LOTTO_PRICE = 1000; + private final int tickets; + + public NumberOfLottoTicket(int money){ + this.tickets = setNumberOfLottoTickets(money); + } + + // naming ๋ฐ”๊พธ๊ธฐ + private int setNumberOfLottoTickets(int money) { + return money / LOTTO_PRICE; + } + + public int getNumberOfLottoTicket(){ + return this.tickets; + } +} diff --git a/src/main/java/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.java b/src/main/java/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.java new file mode 100644 index 0000000..addf67d --- /dev/null +++ b/src/main/java/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.java @@ -0,0 +1,15 @@ +package lotto.domain.lottowinningresult; + +import java.util.List; + +public class LottoWinningBonusBallResult { + private final List LottoWinningBonusBall; + + public LottoWinningBonusBallResult(List LottoWinningBonusBall) { + this.LottoWinningBonusBall = LottoWinningBonusBall; + } + + public List getLottoWinningBonusBallResult(){ + return this.LottoWinningBonusBall; + } +} diff --git a/src/main/java/lotto/domain/lottowinningresult/LottoWinningResult.java b/src/main/java/lotto/domain/lottowinningresult/LottoWinningResult.java new file mode 100644 index 0000000..cffc911 --- /dev/null +++ b/src/main/java/lotto/domain/lottowinningresult/LottoWinningResult.java @@ -0,0 +1,15 @@ +package lotto.domain.lottowinningresult; + +import java.util.List; + +public class LottoWinningResult { + private final List lottoWinning; + public LottoWinningResult(List lottoWinning) { + this.lottoWinning = lottoWinning; + } + + public List getLottoWinningResult() { + return this.lottoWinning; + + } +} \ No newline at end of file diff --git a/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java b/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java index 0086b22..e81dba3 100644 --- a/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java +++ b/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java @@ -25,7 +25,9 @@ private List setLottoNumberRange(){ private List getLottoNumbers(List lottoNumberRange){ Collections.shuffle(lottoNumberRange); - return lottoNumberRange.subList(0,LOTTO_NUMBER_COUNT); + List collectedNumbers = lottoNumberRange.subList(0,LOTTO_NUMBER_COUNT); + Collections.sort(collectedNumbers); + return collectedNumbers; } } diff --git a/src/test/java/empty.txt b/src/test/java/empty.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/test/java/lotto/domain/LottoTest.java b/src/test/java/lotto/domain/LottoTest.java index 093f4de..d1b1ba0 100644 --- a/src/test/java/lotto/domain/LottoTest.java +++ b/src/test/java/lotto/domain/LottoTest.java @@ -1,6 +1,7 @@ package lotto.domain; import lotto.domain.exception.NotValidLottoLengthException; +import lotto.domain.lottoticket.LottoTicket; import org.junit.jupiter.api.Test; import java.util.List; @@ -13,7 +14,7 @@ class LottoTest { //given List numbers = List.of(6,7,8,9,10,11); List actual = List.of(6,7,8,9,10,11); - Lotto lotto = new Lotto(numbers); + LottoTicket lotto = new LottoTicket(numbers); //when List expected = lotto.getLotto(); @@ -29,7 +30,7 @@ class LottoTest { //when //then assertThatExceptionOfType(NotValidLottoLengthException.class). - isThrownBy(() -> new Lotto(numbers)); + isThrownBy(() -> new LottoTicket(numbers)); } @Test void ๋กœ๋˜_์ˆซ์ž๊ฐ€_6๊ฐœ_๋ฏธ๋งŒ์ผ_๊ฒฝ์šฐ_NotValidLottoLengthException์„_๋˜์ง„๋‹ค(){ @@ -39,6 +40,6 @@ class LottoTest { //when //then assertThatExceptionOfType(NotValidLottoLengthException.class). - isThrownBy(() -> new Lotto(numbers)); + isThrownBy(() -> new LottoTicket(numbers)); } } \ No newline at end of file From b6e65870ac45e3864f9c0c30997656e27266b302 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 05:05:35 +0900 Subject: [PATCH 06/31] =?UTF-8?q?delete:=20LottoFactory=20class=20?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=82=AC=EC=9A=A9=ED=95=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=20class=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/domain/LottoFactory.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/lotto/domain/LottoFactory.java b/src/main/java/lotto/domain/LottoFactory.java index 550fb06..4ffcd93 100644 --- a/src/main/java/lotto/domain/LottoFactory.java +++ b/src/main/java/lotto/domain/LottoFactory.java @@ -3,10 +3,6 @@ import lotto.domain.lottowinningresult.LottoWinningBonusBallResult; import lotto.domain.lottowinningresult.LottoWinningResult; -import java.util.ArrayList; -import java.util.Locale; - - public class LottoFactory { private LottoWinningResult lottoWinningResult; private LottoWinningBonusBallResult lottoWinningBonusBallResult; From 271acd7e84d93bf6852b711225e0fa83f145230a Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 06:46:26 +0900 Subject: [PATCH 07/31] =?UTF-8?q?refactor:=20Discriminator=20method?= =?UTF-8?q?=EC=97=90=20numberOfLottoTicket=20=ED=8C=8C=EB=9D=BC=EB=AF=B8?= =?UTF-8?q?=ED=84=B0=EB=A5=BC=20=EB=B0=9B=EC=9D=84=20=EC=88=98=20=EC=9E=88?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/domain/LottoMachine.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/lotto/domain/LottoMachine.java b/src/main/java/lotto/domain/LottoMachine.java index 8447440..8937443 100644 --- a/src/main/java/lotto/domain/LottoMachine.java +++ b/src/main/java/lotto/domain/LottoMachine.java @@ -4,6 +4,7 @@ import lotto.domain.lastweekwinninglotto.LastWeekWinningLotto; import lotto.domain.lottoticket.LottoTicket; import lotto.domain.lottoticket.Lottos; +import lotto.domain.lottoticket.NumberOfLottoTicket; import lotto.domain.lottowinningresult.LottoWinningBonusBallResult; import lotto.domain.lottowinningresult.LottoWinningResult; @@ -15,7 +16,8 @@ public class LottoMachine { public void Discriminator( Lottos lottos, LastWeekWinningLotto lastWeekWinningLotto, - LastWeekWinningBonusBall lastWeekWinningBonusBall + LastWeekWinningBonusBall lastWeekWinningBonusBall, + NumberOfLottoTicket numberOfLottoTicket ){ ArrayList lottoWinningResults = new ArrayList<>(); ArrayList lottoWinningBonusBallResults = new ArrayList<>(); @@ -35,7 +37,7 @@ public void Discriminator( LottoWinningBonusBallResult lottoWinningBonusBallResult = new LottoWinningBonusBallResult(lottoWinningBonusBallResults); LottoWinningResult winningResult = new LottoWinningResult(lottoWinningResults); LottoFactory lottoFactory = new LottoFactory(winningResult, lottoWinningBonusBallResult); - enumWinningStatus.mappingMatchedLottoWithWinningMoney(lottoFactory); + enumWinningStatus.mappingMatchedLottoWithWinningMoney(lottoFactory, numberOfLottoTicket); } private int getMatchLottoNumberCount(List lottoMatchedResult){ From c4bfc6ebf3aab6846c7de1eef373c0ca377fe17e Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 06:49:44 +0900 Subject: [PATCH 08/31] =?UTF-8?q?feat:=20LottoFactory=20class=20=EC=97=90?= =?UTF-8?q?=EC=84=9C=20LottoWinningResult=20=EA=B0=9D=EC=B2=B4=EC=99=80=20?= =?UTF-8?q?LottoWinningBonusBallResult=20=EA=B0=9D=EC=B2=B4=EB=A5=BC=20?= =?UTF-8?q?=EA=B0=80=EC=A0=B8=EC=98=A4=EB=8A=94=20method=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/domain/LottoFactory.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/lotto/domain/LottoFactory.java b/src/main/java/lotto/domain/LottoFactory.java index 4ffcd93..2a6acf3 100644 --- a/src/main/java/lotto/domain/LottoFactory.java +++ b/src/main/java/lotto/domain/LottoFactory.java @@ -12,4 +12,12 @@ public LottoFactory(LottoWinningResult lottoWinningResults, LottoWinningBonusBal this.lottoWinningBonusBallResult = lottoWinningBonusBallResults; } + public LottoWinningResult getLottoWinningResult(){ + return this.lottoWinningResult; + } + + public LottoWinningBonusBallResult getLottoWinningBonusBallResult(){ + return this.lottoWinningBonusBallResult; + } + } From 76a25189d86d78b02e26cb706f39f1856fac9bec Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 06:51:25 +0900 Subject: [PATCH 09/31] =?UTF-8?q?refactor:=20numberOfLottoTicket=20?= =?UTF-8?q?=EC=9D=B4=20=EB=A1=9C=EB=98=90=E3=85=97=E3=84=B9=20=EB=A7=9E?= =?UTF-8?q?=EC=95=98=EB=8A=94=EC=A7=80=EC=97=90=20=EB=8C=80=ED=95=9C=20?= =?UTF-8?q?=EC=97=AC=EB=B6=80=EB=A5=BC=20=EC=B2=B4=ED=81=AC=ED=95=98?= =?UTF-8?q?=EA=B8=B0=20=EC=9C=84=ED=95=B4=20=20numberOfLottoTicket=20?= =?UTF-8?q?=EA=B0=92=EC=9D=84=20=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0?= =?UTF-8?q?=EB=A1=9C=20=EB=84=98=EA=B8=B0=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/LottoApplication.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/lotto/LottoApplication.java b/src/main/java/lotto/LottoApplication.java index abb03b8..2413ed7 100644 --- a/src/main/java/lotto/LottoApplication.java +++ b/src/main/java/lotto/LottoApplication.java @@ -43,7 +43,7 @@ public void run(){ System.out.println("๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”"); int bonusBall = scanner.nextInt(); LastWeekWinningBonusBall lastWeekWinningBonusBall = new LastWeekWinningBonusBall(bonusBall); - lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall); + lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall, numberOfLottoTicket); } public static void main(String[] args) { From 7c5412b2c7bed456387b60bf158a7bff345f4be3 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 06:54:27 +0900 Subject: [PATCH 10/31] =?UTF-8?q?feat:=20=EB=A7=9E=EC=B6=98=20=EB=A1=9C?= =?UTF-8?q?=EB=98=90=20=ED=8B=B0=EC=BC=93=EC=9D=98=20=EB=8B=B9=EC=B2=A8?= =?UTF-8?q?=EA=B8=88=EC=95=A1=EC=9D=84=20=EB=A6=AC=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EB=A1=9C=20=EB=A7=8C=EB=93=9C=EB=8A=94=20WinningLottoTicketPri?= =?UTF-8?q?ces=20method=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/lotto/domain/EnumWinningStatus.java | 43 +++++++++++++------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/src/main/java/lotto/domain/EnumWinningStatus.java b/src/main/java/lotto/domain/EnumWinningStatus.java index 9a4391f..a00815c 100644 --- a/src/main/java/lotto/domain/EnumWinningStatus.java +++ b/src/main/java/lotto/domain/EnumWinningStatus.java @@ -1,5 +1,6 @@ package lotto.domain; +import lotto.domain.lottoticket.NumberOfLottoTicket; import lotto.domain.lottowinningresult.LottoWinningBonusBallResult; import lotto.domain.lottowinningresult.LottoWinningResult; @@ -7,22 +8,40 @@ import java.util.List; public class EnumWinningStatus { - private List lottoFactories; - - public List mappingMatchedLottoWithWinningMoney(LottoFactory lottoWinningResult){ + private ArrayList lottoPrices = new ArrayList<>(); + public List mappingMatchedLottoWithWinningMoney(LottoFactory lottoFactory, NumberOfLottoTicket numberOfLottoTicket){ ArrayList mappingMatchedLottoWithWinningMoney = new ArrayList<>(); + LottoWinningResult lottoWinningResults = lottoFactory.getLottoWinningResult(); + LottoWinningBonusBallResult lottoWinningBonusBallResult = lottoFactory.getLottoWinningBonusBallResult(); - for(WinningStatus winningStatus: WinningStatus.values()){ - long lottoWinningResultsCount = lottoFactories.stream(). - filter(lottoMatchCount -> lottoMatchCount.equals(winningStatus.getMatchCount())). - filter(lottoMatchBonusBall -> (lottoMatchBonusBall.equals(winningStatus.hasBonusBall()))). - count(); - mappingMatchedLottoWithWinningMoney.add(lottoWinningResultsCount); - System.out.println("----------------------"); - System.out.println(winningStatus.getMatchCount()); - System.out.println(lottoWinningResultsCount); + for (int i = 0; i < numberOfLottoTicket.getNumberOfLottoTicket(); i++) { + int lottoMatchedNumber = lottoWinningResults.getLottoWinningResult().get(i); + Boolean lottoBonusBallNumber = lottoWinningBonusBallResult.getLottoWinningBonusBallResult().get(i); + getWinningLottoTicketPrices(lottoMatchedNumber, lottoBonusBallNumber); } + System.out.println(lottoPrices); return mappingMatchedLottoWithWinningMoney; } + private void getWinningLottoTicketPrices(int lottoMatchedNumber, boolean lottoBonusBallNumber) { + for(WinningStatus winningStatus: WinningStatus.values()){ + int matchedWinningNumberCount = winningStatus.getMatchCount(); + boolean isMatchedBonusBallCount = winningStatus.hasBonusBall(); + makeWinningLottoTicket(lottoMatchedNumber, matchedWinningNumberCount, isMatchedBonusBallCount, lottoBonusBallNumber, winningStatus); + } + } + + private void makeWinningLottoTicket( + int lottoMatchedNumber, + int matchedWinningNumberCount, + boolean isMatchedBonusBallCount, + boolean lottoBonusBallNumber, + WinningStatus winningStatus + ){ + if((lottoMatchedNumber == matchedWinningNumberCount) && (isMatchedBonusBallCount == lottoBonusBallNumber)){ + lottoPrices.add(winningStatus.getWinningMoney()); + } + + } + } From ab9d3207f3f2664a617b565565d6c440ca5fa8d1 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 07:18:55 +0900 Subject: [PATCH 11/31] =?UTF-8?q?feat:=20=EB=A9=94=EC=8B=9C=EC=A7=80?= =?UTF-8?q?=EB=A5=BC=20=EC=B6=9C=EB=A0=A5=ED=95=98=EB=8A=94=20Printer=20cl?= =?UTF-8?q?ass=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/ui/Printer.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/main/java/lotto/ui/Printer.java diff --git a/src/main/java/lotto/ui/Printer.java b/src/main/java/lotto/ui/Printer.java new file mode 100644 index 0000000..f666cbc --- /dev/null +++ b/src/main/java/lotto/ui/Printer.java @@ -0,0 +1,14 @@ +package lotto.ui; + +public class Printer { + private static final String REQUEST_PURCHASE_AMOUNT_MESSAGE = "๊ตฌ์ž…๊ธˆ์•ก์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; + private static final String REQUEST_LAST_WEEK_LOTTO_WINNING_NUMBER_MESSAGE = "์ง€๋‚œ ์ฃผ ๋‹น์ฒจ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; + + public void requestPurchaseAmount(){ + System.out.println(REQUEST_PURCHASE_AMOUNT_MESSAGE); + } + public void requestLastWeekLottoWinningNumber(){ + System.out.println(REQUEST_LAST_WEEK_LOTTO_WINNING_NUMBER_MESSAGE); + } +} + From bdf3cfde4a5461e0d9f6ab47149750588562dd9e Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 08:02:31 +0900 Subject: [PATCH 12/31] =?UTF-8?q?feat:=20receiveLastWeekLottoWinningNumber?= =?UTF-8?q?s=20method=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/ui/Receiver.java | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/java/lotto/ui/Receiver.java diff --git a/src/main/java/lotto/ui/Receiver.java b/src/main/java/lotto/ui/Receiver.java new file mode 100644 index 0000000..9060c79 --- /dev/null +++ b/src/main/java/lotto/ui/Receiver.java @@ -0,0 +1,31 @@ +package lotto.ui; + +import java.util.Arrays; +import java.util.List; +import java.util.Scanner; +import java.util.stream.Collectors; + +public class Receiver { + private static final Scanner scanner = new Scanner(System.in); + private static final String DELIMITER = ","; + + public int receiveLottoTotalAmount() { + int lottoTotalAmount = scanner.nextInt(); + return lottoTotalAmount; + } + + public List receiveLastWeekLottoWinningNumbers() { + String lastWeekLottoWinningNumbers = scanner.next(); + List dividedLastWeekLottoWinningNumbers = splitInputLine(lastWeekLottoWinningNumbers); + return convertStringToInt(dividedLastWeekLottoWinningNumbers); + } + + private List splitInputLine(String line) { + return Arrays.asList(line.split(DELIMITER)); + } + + private List convertStringToInt(List dividedLastWeekLottoWinningNumbers) { + return dividedLastWeekLottoWinningNumbers.stream().map(Integer::parseInt).collect(Collectors.toList()); + + } +} From 8190d210f96849e82d5ee5207170e535d0691906 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 08:41:38 +0900 Subject: [PATCH 13/31] =?UTF-8?q?feat:=20receiverLottoBonusBallNumber=20me?= =?UTF-8?q?thod=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/ui/Receiver.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/lotto/ui/Receiver.java b/src/main/java/lotto/ui/Receiver.java index 9060c79..1b42d54 100644 --- a/src/main/java/lotto/ui/Receiver.java +++ b/src/main/java/lotto/ui/Receiver.java @@ -14,6 +14,11 @@ public int receiveLottoTotalAmount() { return lottoTotalAmount; } + public int receiveLottoBonusBallNumber() { + int lottoBonusBallNumber = scanner.nextInt(); + return lottoBonusBallNumber; + } + public List receiveLastWeekLottoWinningNumbers() { String lastWeekLottoWinningNumbers = scanner.next(); List dividedLastWeekLottoWinningNumbers = splitInputLine(lastWeekLottoWinningNumbers); From 6d45ba10b9bc92affd91bdd088a15f57acee9731 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 08:42:29 +0900 Subject: [PATCH 14/31] =?UTF-8?q?feat:=20requestLottoBonusBallNumber=20met?= =?UTF-8?q?hod=20=EC=99=80=20printAllLotto=20method=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/ui/Printer.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/lotto/ui/Printer.java b/src/main/java/lotto/ui/Printer.java index f666cbc..79930de 100644 --- a/src/main/java/lotto/ui/Printer.java +++ b/src/main/java/lotto/ui/Printer.java @@ -1,14 +1,26 @@ package lotto.ui; +import lotto.domain.lottoticket.LottoTicket; +import lotto.domain.lottoticket.Lottos; + public class Printer { private static final String REQUEST_PURCHASE_AMOUNT_MESSAGE = "๊ตฌ์ž…๊ธˆ์•ก์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; private static final String REQUEST_LAST_WEEK_LOTTO_WINNING_NUMBER_MESSAGE = "์ง€๋‚œ ์ฃผ ๋‹น์ฒจ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; + private static final String REQUEST_LOTTO_BONUS_BALL_NUMBER_MESSAGE = "๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”"; - public void requestPurchaseAmount(){ + public void requestPurchaseAmount() { System.out.println(REQUEST_PURCHASE_AMOUNT_MESSAGE); } - public void requestLastWeekLottoWinningNumber(){ + public void requestLastWeekLottoWinningNumber() { System.out.println(REQUEST_LAST_WEEK_LOTTO_WINNING_NUMBER_MESSAGE); } + public void requestLottoBonusBallNumber() { + System.out.println(REQUEST_LOTTO_BONUS_BALL_NUMBER_MESSAGE); + } + public void printAllLotto(Lottos lottos){ + for (LottoTicket lotto : lottos.getLottos()) { + System.out.println(lotto.getLotto()); + } + } } From 883d44aee6c5accc517d44a51bd3acf380028824 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 08:43:59 +0900 Subject: [PATCH 15/31] =?UTF-8?q?refactor:=20LottoMachine=20class=20?= =?UTF-8?q?=EC=97=90=EC=84=9C=20convention=20=EC=97=90=20=EC=9C=84?= =?UTF-8?q?=EB=B0=B0=EB=90=98=EB=8A=94=20=EC=82=AC=ED=95=AD=EB=93=A4=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/domain/LottoMachine.java | 33 +++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/main/java/lotto/domain/LottoMachine.java b/src/main/java/lotto/domain/LottoMachine.java index 8937443..5f50769 100644 --- a/src/main/java/lotto/domain/LottoMachine.java +++ b/src/main/java/lotto/domain/LottoMachine.java @@ -13,31 +13,33 @@ public class LottoMachine { EnumWinningStatus enumWinningStatus = new EnumWinningStatus(); + ArrayList lottoWinningResults = new ArrayList<>(); + ArrayList lottoWinningBonusBallResults = new ArrayList<>(); + public void Discriminator( Lottos lottos, LastWeekWinningLotto lastWeekWinningLotto, LastWeekWinningBonusBall lastWeekWinningBonusBall, NumberOfLottoTicket numberOfLottoTicket ){ - ArrayList lottoWinningResults = new ArrayList<>(); - ArrayList lottoWinningBonusBallResults = new ArrayList<>(); - for (LottoTicket lotto : lottos.getLottos()) { List lottoMatchedResult = getMatchLottoNumber(lotto, lastWeekWinningLotto); Boolean lottoMatchedBonusBallResult = getMatchLottoBonusBallNumber(lotto, lastWeekWinningBonusBall); - int matchLottoNumberCount = getMatchLottoNumberCount(lottoMatchedResult); - lottoWinningBonusBallResults.add(lottoMatchedBonusBallResult); lottoWinningResults.add(matchLottoNumberCount); - System.out.println(matchLottoNumberCount); - System.out.println(lottoMatchedBonusBallResult); - + lottoWinningBonusBallResults.add(lottoMatchedBonusBallResult); } + LottoFactory lottoFactory = createLottoFactory(lottoWinningResults, lottoWinningBonusBallResults); + enumWinningStatus.mappingMatchedLottoWithWinningMoney(lottoFactory, numberOfLottoTicket); + } + + private LottoFactory createLottoFactory(ArrayList lottoWinningResults, ArrayList lottoWinningBonusBallResults) { LottoWinningBonusBallResult lottoWinningBonusBallResult = new LottoWinningBonusBallResult(lottoWinningBonusBallResults); LottoWinningResult winningResult = new LottoWinningResult(lottoWinningResults); + LottoFactory lottoFactory = new LottoFactory(winningResult, lottoWinningBonusBallResult); - enumWinningStatus.mappingMatchedLottoWithWinningMoney(lottoFactory, numberOfLottoTicket); + return lottoFactory; } private int getMatchLottoNumberCount(List lottoMatchedResult){ @@ -46,19 +48,20 @@ private int getMatchLottoNumberCount(List lottoMatchedResult){ private List getMatchLottoNumber(LottoTicket lotto, LastWeekWinningLotto lastWeekWinningLotto){ List lottoList = lotto.getLotto(); - List lastWeekWinningLottoList = lastWeekWinningLotto.getLotto(); + List lastWeekWinningLottos = lastWeekWinningLotto.getLotto(); ArrayList lottoMatchedResult = new ArrayList<>(); - for (int winningLottoNumber = 0; winningLottoNumber < lastWeekWinningLottoList.size(); winningLottoNumber++) { - Boolean isMatchLottoNumber = lottoList.contains(lastWeekWinningLottoList.get(winningLottoNumber)); + + for (int winningLottoNumber = 0; winningLottoNumber < lastWeekWinningLottos.size(); winningLottoNumber++) { + Boolean isMatchLottoNumber = lottoList.contains(lastWeekWinningLottos.get(winningLottoNumber)); lottoMatchedResult.add(isMatchLottoNumber); } return lottoMatchedResult; } private Boolean getMatchLottoBonusBallNumber(LottoTicket lotto, LastWeekWinningBonusBall lastWeekWinningBonusBall) { - List lottoBonusBallList = lotto.getLotto(); - int lastWeekWinningBonusBallList = lastWeekWinningBonusBall.getLastWeekWinningBonusBall(); - Boolean isMatchLottoNumber = lottoBonusBallList.contains(lastWeekWinningBonusBallList); + List lottoBonusBalls = lotto.getLotto(); + int lastWeekWinningBonusBalls = lastWeekWinningBonusBall.getLastWeekWinningBonusBall(); + Boolean isMatchLottoNumber = lottoBonusBalls.contains(lastWeekWinningBonusBalls); return isMatchLottoNumber; } From 114b9291f671ab1139b83127320af13d0fa8f1c5 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 08:45:02 +0900 Subject: [PATCH 16/31] =?UTF-8?q?refactor:=20run()=20method=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=20=EB=B3=80=EA=B2=BD=20=EB=B0=8F=20makeLottos=20metho?= =?UTF-8?q?d=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/LottoApplication.java | 46 +++++++++++------------ 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/src/main/java/lotto/LottoApplication.java b/src/main/java/lotto/LottoApplication.java index 2413ed7..f314105 100644 --- a/src/main/java/lotto/LottoApplication.java +++ b/src/main/java/lotto/LottoApplication.java @@ -7,43 +7,39 @@ import lotto.domain.lottoticket.Lottos; import lotto.domain.lottoticket.NumberOfLottoTicket; import lotto.domain.strategy.RandomLottoNumberStrategy; +import lotto.ui.Printer; +import lotto.ui.Receiver; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; -import java.util.Scanner; -import java.util.stream.Collectors; public class LottoApplication { - Scanner scanner = new Scanner(System.in); - private static RandomLottoNumberStrategy randomLottoNumberStrategy = new RandomLottoNumberStrategy(); + private final Printer printer = new Printer(); + private final Receiver receiver = new Receiver(); private static LottoMachine lottoMachine = new LottoMachine(); - public void run(){ + private final RandomLottoNumberStrategy randomLottoNumberStrategy = new RandomLottoNumberStrategy(); + + public void run() { + printer.requestPurchaseAmount(); + NumberOfLottoTicket numberOfLottoTicket = new NumberOfLottoTicket(receiver.receiveLottoTotalAmount()); + Lottos lottos = makeLottos(numberOfLottoTicket); + printer.printAllLotto(lottos); + printer.requestLastWeekLottoWinningNumber(); + List LastWeekLottoWinningNumbers = receiver.receiveLastWeekLottoWinningNumbers(); + LastWeekWinningLotto lastWeekWinningLotto = new LastWeekWinningLotto(LastWeekLottoWinningNumbers); + printer.requestLottoBonusBallNumber(); + LastWeekWinningBonusBall lastWeekWinningBonusBall = new LastWeekWinningBonusBall(receiver.receiveLottoBonusBallNumber()); + lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall, numberOfLottoTicket); + } + + private Lottos makeLottos(NumberOfLottoTicket numberOfLottoTicket) { ArrayList lottoDummy = new ArrayList<>(); - System.out.println("๊ตฌ์ž…๊ธˆ์•ก์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."); - int money = scanner.nextInt(); - NumberOfLottoTicket numberOfLottoTicket = new NumberOfLottoTicket(money); - System.out.println(numberOfLottoTicket.getNumberOfLottoTicket()); for (int i = 0; i < numberOfLottoTicket.getNumberOfLottoTicket(); i++) { LottoTicket lotto = new LottoTicket(randomLottoNumberStrategy.getRandomLottoNumbers()); lottoDummy.add(lotto); } Lottos lottos = new Lottos(lottoDummy); - for (LottoTicket lotto : lottos.getLottos()) - { - System.out.println(lotto.getLotto()); - } - System.out.println("์ง€๋‚œ ์ฃผ ๋‹น์ฒจ๋ฒˆํ˜ธ๋ฅผ ์ ์–ด์ฃผ์„ธ์š”"); - String winningLottoNumbers = scanner.next(); - List winningLotto = Arrays.asList(winningLottoNumbers.split(",")); - List winningLottoNumber = winningLotto.stream().map(Integer::parseInt).collect(Collectors.toList()); - - LastWeekWinningLotto lastWeekWinningLotto = new LastWeekWinningLotto(winningLottoNumber); - - System.out.println("๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”"); - int bonusBall = scanner.nextInt(); - LastWeekWinningBonusBall lastWeekWinningBonusBall = new LastWeekWinningBonusBall(bonusBall); - lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall, numberOfLottoTicket); + return lottos; } public static void main(String[] args) { From 2f016324490dbb8893f377bdd72c810c576e24ab Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 10:39:38 +0900 Subject: [PATCH 17/31] =?UTF-8?q?feat:=20=EB=A1=9C=EB=98=90=20=EB=8B=B9?= =?UTF-8?q?=EC=B2=A8=EC=9D=84=20=ED=86=B5=ED=95=B4=20=EA=B3=84=EC=82=B0?= =?UTF-8?q?=EB=90=98=EB=8A=94=20=EC=9D=B4=EC=9D=B5=EB=A5=A0=EC=9D=84=20?= =?UTF-8?q?=EB=8B=B4=EB=8B=B9=ED=95=98=EB=8A=94=20Profile=20class=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/domain/Profit.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/main/java/lotto/domain/Profit.java diff --git a/src/main/java/lotto/domain/Profit.java b/src/main/java/lotto/domain/Profit.java new file mode 100644 index 0000000..d3bb590 --- /dev/null +++ b/src/main/java/lotto/domain/Profit.java @@ -0,0 +1,21 @@ +package lotto.domain; + +import lotto.domain.lottoticket.NumberOfLottoTicket; + +import java.util.List; + +public class Profit { + private static int totalLottoPrice; + public Profit(List lottoPrices) { + int sumLottoPrices = sumLottoPrices(lottoPrices); + totalLottoPrice = sumLottoPrices; + } + + private int sumLottoPrices(List lottoPrices){ + return lottoPrices.stream().mapToInt(Integer::intValue).sum(); + } + + public float getCalculatedProfit(NumberOfLottoTicket numberOfLottoTicket) { + return (float) totalLottoPrice / numberOfLottoTicket.getMoney(); + } +} From 8573f206705392298d870d21da7550ad719a0de1 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 10:40:17 +0900 Subject: [PATCH 18/31] =?UTF-8?q?feat:=20NumberOfLottoTicket=20class=20?= =?UTF-8?q?=EC=95=88=EC=97=90=20getMoney=20method=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lotto/domain/lottoticket/NumberOfLottoTicket.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/lotto/domain/lottoticket/NumberOfLottoTicket.java b/src/main/java/lotto/domain/lottoticket/NumberOfLottoTicket.java index 49916fd..d0a0840 100644 --- a/src/main/java/lotto/domain/lottoticket/NumberOfLottoTicket.java +++ b/src/main/java/lotto/domain/lottoticket/NumberOfLottoTicket.java @@ -3,9 +3,11 @@ public class NumberOfLottoTicket { private final static int LOTTO_PRICE = 1000; private final int tickets; + private final int money; - public NumberOfLottoTicket(int money){ + public NumberOfLottoTicket(int money) { this.tickets = setNumberOfLottoTickets(money); + this.money = money; } // naming ๋ฐ”๊พธ๊ธฐ @@ -13,7 +15,11 @@ private int setNumberOfLottoTickets(int money) { return money / LOTTO_PRICE; } - public int getNumberOfLottoTicket(){ + public int getNumberOfLottoTicket() { return this.tickets; } + + public int getMoney() { + return this.money; + } } From be95b6aba096a7794ebe18e3092892277173a72e Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 10:41:35 +0900 Subject: [PATCH 19/31] =?UTF-8?q?refactor:=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EB=AA=A8=EB=93=88=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=EC=99=80=20=EA=B5=AC=EC=A1=B0=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/LottoApplication.java | 5 ++++- .../java/lotto/domain/EnumWinningStatus.java | 22 ++++++++++++++----- src/main/java/lotto/domain/LottoMachine.java | 4 ++-- .../lotto/domain/lottoticket/LottoTicket.java | 4 +++- .../java/lotto/domain/lottoticket/Lottos.java | 1 + .../strategy/RandomLottoNumberStrategy.java | 1 - 6 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/main/java/lotto/LottoApplication.java b/src/main/java/lotto/LottoApplication.java index f314105..d344d24 100644 --- a/src/main/java/lotto/LottoApplication.java +++ b/src/main/java/lotto/LottoApplication.java @@ -1,6 +1,7 @@ package lotto; import lotto.domain.LottoMachine; +import lotto.domain.Profit; import lotto.domain.lastweekwinninglotto.LastWeekWinningBonusBall; import lotto.domain.lastweekwinninglotto.LastWeekWinningLotto; import lotto.domain.lottoticket.LottoTicket; @@ -29,7 +30,9 @@ public void run() { LastWeekWinningLotto lastWeekWinningLotto = new LastWeekWinningLotto(LastWeekLottoWinningNumbers); printer.requestLottoBonusBallNumber(); LastWeekWinningBonusBall lastWeekWinningBonusBall = new LastWeekWinningBonusBall(receiver.receiveLottoBonusBallNumber()); - lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall, numberOfLottoTicket); + ArrayList getLottoPrices = lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall, numberOfLottoTicket); + Profit profit = new Profit(getLottoPrices); + System.out.println(profit.getCalculatedProfit(numberOfLottoTicket)); } private Lottos makeLottos(NumberOfLottoTicket numberOfLottoTicket) { diff --git a/src/main/java/lotto/domain/EnumWinningStatus.java b/src/main/java/lotto/domain/EnumWinningStatus.java index a00815c..0d5deec 100644 --- a/src/main/java/lotto/domain/EnumWinningStatus.java +++ b/src/main/java/lotto/domain/EnumWinningStatus.java @@ -3,14 +3,19 @@ import lotto.domain.lottoticket.NumberOfLottoTicket; import lotto.domain.lottowinningresult.LottoWinningBonusBallResult; import lotto.domain.lottowinningresult.LottoWinningResult; +import lotto.ui.Printer; import java.util.ArrayList; -import java.util.List; +import java.util.HashMap; +import java.util.Map; public class EnumWinningStatus { + private static final int NOT_MATCH_LOTTO = 0; private ArrayList lottoPrices = new ArrayList<>(); - public List mappingMatchedLottoWithWinningMoney(LottoFactory lottoFactory, NumberOfLottoTicket numberOfLottoTicket){ - ArrayList mappingMatchedLottoWithWinningMoney = new ArrayList<>(); + private Map mappingLottoWithBonusBall = new HashMap<>(); + private Printer printer = new Printer(); + + public ArrayList getLottoPrices(LottoFactory lottoFactory, NumberOfLottoTicket numberOfLottoTicket){ LottoWinningResult lottoWinningResults = lottoFactory.getLottoWinningResult(); LottoWinningBonusBallResult lottoWinningBonusBallResult = lottoFactory.getLottoWinningBonusBallResult(); @@ -19,8 +24,8 @@ public List mappingMatchedLottoWithWinningMoney(LottoFactory lottoFactory, Boolean lottoBonusBallNumber = lottoWinningBonusBallResult.getLottoWinningBonusBallResult().get(i); getWinningLottoTicketPrices(lottoMatchedNumber, lottoBonusBallNumber); } - System.out.println(lottoPrices); - return mappingMatchedLottoWithWinningMoney; + printer.printAllMatchedLottoResult(getMappingLottoWithBonusBall()); + return lottoPrices; } private void getWinningLottoTicketPrices(int lottoMatchedNumber, boolean lottoBonusBallNumber) { @@ -41,7 +46,14 @@ private void makeWinningLottoTicket( if((lottoMatchedNumber == matchedWinningNumberCount) && (isMatchedBonusBallCount == lottoBonusBallNumber)){ lottoPrices.add(winningStatus.getWinningMoney()); } + } + private Map getMappingLottoWithBonusBall() { + for (Integer key: lottoPrices + ) { + mappingLottoWithBonusBall.put(key, mappingLottoWithBonusBall.getOrDefault(key, 0)+1); + } + return mappingLottoWithBonusBall; } } diff --git a/src/main/java/lotto/domain/LottoMachine.java b/src/main/java/lotto/domain/LottoMachine.java index 5f50769..3d38c98 100644 --- a/src/main/java/lotto/domain/LottoMachine.java +++ b/src/main/java/lotto/domain/LottoMachine.java @@ -16,7 +16,7 @@ public class LottoMachine { ArrayList lottoWinningResults = new ArrayList<>(); ArrayList lottoWinningBonusBallResults = new ArrayList<>(); - public void Discriminator( + public ArrayList Discriminator( Lottos lottos, LastWeekWinningLotto lastWeekWinningLotto, LastWeekWinningBonusBall lastWeekWinningBonusBall, @@ -31,7 +31,7 @@ public void Discriminator( lottoWinningBonusBallResults.add(lottoMatchedBonusBallResult); } LottoFactory lottoFactory = createLottoFactory(lottoWinningResults, lottoWinningBonusBallResults); - enumWinningStatus.mappingMatchedLottoWithWinningMoney(lottoFactory, numberOfLottoTicket); + return enumWinningStatus.getLottoPrices(lottoFactory, numberOfLottoTicket); } private LottoFactory createLottoFactory(ArrayList lottoWinningResults, ArrayList lottoWinningBonusBallResults) { diff --git a/src/main/java/lotto/domain/lottoticket/LottoTicket.java b/src/main/java/lotto/domain/lottoticket/LottoTicket.java index 55232e5..c5f24d5 100644 --- a/src/main/java/lotto/domain/lottoticket/LottoTicket.java +++ b/src/main/java/lotto/domain/lottoticket/LottoTicket.java @@ -1,10 +1,11 @@ package lotto.domain.lottoticket; import lotto.domain.exception.NotValidLottoLengthException; + import java.util.List; public class LottoTicket implements Lotto{ - private final static int LOTTO_NUMBER_COUNT = 6; + private static final int LOTTO_NUMBER_COUNT = 6; private final List numbers; public LottoTicket(List numbers ) { @@ -21,4 +22,5 @@ private void checkLottoLength(List numbers){ public List getLotto(){ return this.numbers; } + } \ No newline at end of file diff --git a/src/main/java/lotto/domain/lottoticket/Lottos.java b/src/main/java/lotto/domain/lottoticket/Lottos.java index ec6cff4..84c0230 100644 --- a/src/main/java/lotto/domain/lottoticket/Lottos.java +++ b/src/main/java/lotto/domain/lottoticket/Lottos.java @@ -1,4 +1,5 @@ package lotto.domain.lottoticket; +import lotto.domain.strategy.RandomLottoNumberStrategy; import java.util.List; diff --git a/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java b/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java index e81dba3..c76224d 100644 --- a/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java +++ b/src/main/java/lotto/domain/strategy/RandomLottoNumberStrategy.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Random; public class RandomLottoNumberStrategy { private final static int UPPER_BOUND = 45; From 2b89a23472b73ece4ffacab421580306d78c5be7 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 11:11:36 +0900 Subject: [PATCH 20/31] =?UTF-8?q?feat:=20printAllMatchedLottoResult=20meth?= =?UTF-8?q?od=20=EA=B5=AC=ED=98=84=20=EB=B0=8F=20printLottoProfit=20method?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/ui/Printer.java | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/lotto/ui/Printer.java b/src/main/java/lotto/ui/Printer.java index 79930de..756d4b6 100644 --- a/src/main/java/lotto/ui/Printer.java +++ b/src/main/java/lotto/ui/Printer.java @@ -1,13 +1,17 @@ package lotto.ui; +import lotto.domain.WinningStatus; import lotto.domain.lottoticket.LottoTicket; import lotto.domain.lottoticket.Lottos; +import java.util.*; + public class Printer { private static final String REQUEST_PURCHASE_AMOUNT_MESSAGE = "๊ตฌ์ž…๊ธˆ์•ก์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; private static final String REQUEST_LAST_WEEK_LOTTO_WINNING_NUMBER_MESSAGE = "์ง€๋‚œ ์ฃผ ๋‹น์ฒจ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; private static final String REQUEST_LOTTO_BONUS_BALL_NUMBER_MESSAGE = "๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”"; - + private static final String PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE = "%s๊ฐœ ์ผ์น˜ (%s์›)- %s๊ฐœ"; + private static final String PRINT_LOTTO_PROFIT_MESSAGE = "์ด ์ˆ˜์ต๋ฅ ์€ %f์ž…๋‹ˆ๋‹ค."; public void requestPurchaseAmount() { System.out.println(REQUEST_PURCHASE_AMOUNT_MESSAGE); } @@ -22,5 +26,20 @@ public void printAllLotto(Lottos lottos){ System.out.println(lotto.getLotto()); } } + + public void printAllMatchedLottoResult(Map lottoPrices) { + List keySet = new ArrayList(lottoPrices.keySet()); + keySet.sort(Comparator.comparingInt(lottoPrices::get)); + + for(Integer key: keySet) { +// WinningStatus lottoMatchCountKey = getMappingMatchedLottoCount(key); + int lottoMatchCountKey = 1; + System.out.println(String.format(PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE, lottoMatchCountKey, key, lottoPrices.get(key))); + } + } + + public void printLottoProfit(float calculatedProfit) { + System.out.println(String.format(PRINT_LOTTO_PROFIT_MESSAGE, calculatedProfit)); + } } From 9e8a76f31471183f283b6c71fd77557b934ced4b Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 11:47:05 +0900 Subject: [PATCH 21/31] =?UTF-8?q?refactor:=20=EA=B8=B0=EC=A1=B4=20Integer?= =?UTF-8?q?=20type=20=EC=97=90=EC=84=9C=20WinningStatus=20type=20=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=88=98=EC=A0=95=ED=95=98=EC=97=AC=20map=20?= =?UTF-8?q?=EA=B5=AC=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/LottoApplication.java | 5 +++-- src/main/java/lotto/domain/EnumWinningStatus.java | 12 ++++++------ src/main/java/lotto/domain/LottoMachine.java | 2 +- src/main/java/lotto/domain/Profit.java | 6 +++--- src/main/java/lotto/ui/Printer.java | 12 +++++------- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/main/java/lotto/LottoApplication.java b/src/main/java/lotto/LottoApplication.java index d344d24..d26de22 100644 --- a/src/main/java/lotto/LottoApplication.java +++ b/src/main/java/lotto/LottoApplication.java @@ -2,6 +2,7 @@ import lotto.domain.LottoMachine; import lotto.domain.Profit; +import lotto.domain.WinningStatus; import lotto.domain.lastweekwinninglotto.LastWeekWinningBonusBall; import lotto.domain.lastweekwinninglotto.LastWeekWinningLotto; import lotto.domain.lottoticket.LottoTicket; @@ -30,9 +31,9 @@ public void run() { LastWeekWinningLotto lastWeekWinningLotto = new LastWeekWinningLotto(LastWeekLottoWinningNumbers); printer.requestLottoBonusBallNumber(); LastWeekWinningBonusBall lastWeekWinningBonusBall = new LastWeekWinningBonusBall(receiver.receiveLottoBonusBallNumber()); - ArrayList getLottoPrices = lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall, numberOfLottoTicket); + ArrayList getLottoPrices = lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall, numberOfLottoTicket); Profit profit = new Profit(getLottoPrices); - System.out.println(profit.getCalculatedProfit(numberOfLottoTicket)); + printer.printLottoProfit(profit.getCalculatedProfit(numberOfLottoTicket)); } private Lottos makeLottos(NumberOfLottoTicket numberOfLottoTicket) { diff --git a/src/main/java/lotto/domain/EnumWinningStatus.java b/src/main/java/lotto/domain/EnumWinningStatus.java index 0d5deec..e373e1d 100644 --- a/src/main/java/lotto/domain/EnumWinningStatus.java +++ b/src/main/java/lotto/domain/EnumWinningStatus.java @@ -11,11 +11,11 @@ public class EnumWinningStatus { private static final int NOT_MATCH_LOTTO = 0; - private ArrayList lottoPrices = new ArrayList<>(); - private Map mappingLottoWithBonusBall = new HashMap<>(); + private ArrayList lottoPrices = new ArrayList<>(); + private Map mappingLottoWithBonusBall = new HashMap<>(); private Printer printer = new Printer(); - public ArrayList getLottoPrices(LottoFactory lottoFactory, NumberOfLottoTicket numberOfLottoTicket){ + public ArrayList getLottoPrices(LottoFactory lottoFactory, NumberOfLottoTicket numberOfLottoTicket){ LottoWinningResult lottoWinningResults = lottoFactory.getLottoWinningResult(); LottoWinningBonusBallResult lottoWinningBonusBallResult = lottoFactory.getLottoWinningBonusBallResult(); @@ -44,12 +44,12 @@ private void makeWinningLottoTicket( WinningStatus winningStatus ){ if((lottoMatchedNumber == matchedWinningNumberCount) && (isMatchedBonusBallCount == lottoBonusBallNumber)){ - lottoPrices.add(winningStatus.getWinningMoney()); + lottoPrices.add(winningStatus); } } - private Map getMappingLottoWithBonusBall() { - for (Integer key: lottoPrices + private Map getMappingLottoWithBonusBall() { + for (WinningStatus key: lottoPrices ) { mappingLottoWithBonusBall.put(key, mappingLottoWithBonusBall.getOrDefault(key, 0)+1); } diff --git a/src/main/java/lotto/domain/LottoMachine.java b/src/main/java/lotto/domain/LottoMachine.java index 3d38c98..af8f9ee 100644 --- a/src/main/java/lotto/domain/LottoMachine.java +++ b/src/main/java/lotto/domain/LottoMachine.java @@ -16,7 +16,7 @@ public class LottoMachine { ArrayList lottoWinningResults = new ArrayList<>(); ArrayList lottoWinningBonusBallResults = new ArrayList<>(); - public ArrayList Discriminator( + public ArrayList Discriminator( Lottos lottos, LastWeekWinningLotto lastWeekWinningLotto, LastWeekWinningBonusBall lastWeekWinningBonusBall, diff --git a/src/main/java/lotto/domain/Profit.java b/src/main/java/lotto/domain/Profit.java index d3bb590..d5379d9 100644 --- a/src/main/java/lotto/domain/Profit.java +++ b/src/main/java/lotto/domain/Profit.java @@ -6,13 +6,13 @@ public class Profit { private static int totalLottoPrice; - public Profit(List lottoPrices) { + public Profit(List lottoPrices) { int sumLottoPrices = sumLottoPrices(lottoPrices); totalLottoPrice = sumLottoPrices; } - private int sumLottoPrices(List lottoPrices){ - return lottoPrices.stream().mapToInt(Integer::intValue).sum(); + private int sumLottoPrices(List lottoPrices){ + return lottoPrices.stream().mapToInt(WinningStatus::getWinningMoney).sum(); } public float getCalculatedProfit(NumberOfLottoTicket numberOfLottoTicket) { diff --git a/src/main/java/lotto/ui/Printer.java b/src/main/java/lotto/ui/Printer.java index 756d4b6..e173dfc 100644 --- a/src/main/java/lotto/ui/Printer.java +++ b/src/main/java/lotto/ui/Printer.java @@ -27,14 +27,12 @@ public void printAllLotto(Lottos lottos){ } } - public void printAllMatchedLottoResult(Map lottoPrices) { - List keySet = new ArrayList(lottoPrices.keySet()); - keySet.sort(Comparator.comparingInt(lottoPrices::get)); + public void printAllMatchedLottoResult(Map lottoPrices) { + List keySet = new ArrayList(lottoPrices.keySet()); + keySet.sort(Comparator.comparingInt(WinningStatus::getWinningMoney)); - for(Integer key: keySet) { -// WinningStatus lottoMatchCountKey = getMappingMatchedLottoCount(key); - int lottoMatchCountKey = 1; - System.out.println(String.format(PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE, lottoMatchCountKey, key, lottoPrices.get(key))); + for(WinningStatus key: keySet) { + System.out.println(String.format(PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE, key.getMatchCount(), key.getWinningMoney(), lottoPrices.get(key))); } } From 53ba8db613e549c39d3687af4a6b4ca024b68d85 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Fri, 2 Apr 2021 11:49:27 +0900 Subject: [PATCH 22/31] =?UTF-8?q?docs(guide):=20class=20=EA=B5=AC=EC=A1=B0?= =?UTF-8?q?=EC=99=80=20method=20=EB=8C=80=ED=95=9C=20=EB=B6=80=EB=B6=84=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 17 +---------------- src/main/java/lotto/domain/WinningStatus.java | 1 - 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/README.md b/README.md index 8fd3499..4f4c3d1 100644 --- a/README.md +++ b/README.md @@ -75,19 +75,4 @@ if(5๊ฐœ ๋งž์„ ์‹œ์—) ## ํžŒํŠธ - ๋กœ๋˜ ์ž๋™ ์ƒ์„ฑ์€ Collections.shuffle() ๋ฉ”์†Œ๋“œ ํ™œ์šฉํ•œ๋‹ค. - Collections.sort() ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ์ •๋ ฌ ๊ฐ€๋Šฅํ•˜๋‹ค. -- ArrayList์˜ contains() ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์–ด๋–ค ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ์œ ๋ฌด๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค. - - -- RandomLottoNumber (์ด๊ฑฐ๋ฅผ strategy์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•ด์•ผ๋˜๋‚˜, interface๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•˜๋Š”์ง€) -- Lotto (๋กœ๋˜ ํ•œ์ค„์งœ๋ฆฌ) -Lottos (๋กœ๋˜ ์—ฌ๋Ÿฌ๊ฐœ๋ฌถ์Œ) -- NumberOfLottoTicket -LottoWinnerNumber(์ง€๋‚œ์ฃผ ๋‹ด์ฒญ๋ฒˆํ˜ธ) -LottoWinnerBonusNumber(์ง€๋‚œ์ฃผ ๋ณด๋„ˆ์Šค๋ฒˆํ˜ธ) -LottoWinningStrategy(๋งž์œผ๋ฉด countup, ์•ˆ๋งž์œผ๋ฉด ๊ทธ๋Œ€๋กœ) -LottoRanks(๋งž์€ ๊ฐœ์ˆ˜ ๋ณ„๋กœ ๋กœ๋˜ ๊ฐฏ์ˆ˜ ๋‹ด๋‹น ๊ฐ์ฒด) -LottoProfitRateCalculator - -์ค‘๊ฐ„์ค‘๊ฐ„์— validator ๋ฐ exception ์ถ”๊ฐ€ -Printer -Scanner \ No newline at end of file +- ArrayList์˜ contains() ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์–ด๋–ค ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ์œ ๋ฌด๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค. \ No newline at end of file diff --git a/src/main/java/lotto/domain/WinningStatus.java b/src/main/java/lotto/domain/WinningStatus.java index c948f00..869e387 100644 --- a/src/main/java/lotto/domain/WinningStatus.java +++ b/src/main/java/lotto/domain/WinningStatus.java @@ -1,6 +1,5 @@ package lotto.domain; -import java.util.List; public enum WinningStatus { SIX_MATCH(6, false, 2000000000), From 8fb68d5b6de55a220411560446a0005416d2ff46 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Sat, 3 Apr 2021 22:14:11 +0900 Subject: [PATCH 23/31] =?UTF-8?q?delete:=20binary=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../classes/lotto/LottoApplication.class | Bin 4590 -> 0 bytes .../classes/lotto/domain/EnumWinningStatus.class | Bin 2946 -> 0 bytes .../classes/lotto/domain/LottoFactory.class | Bin 707 -> 0 bytes .../classes/lotto/domain/LottoMachine.class | Bin 5361 -> 0 bytes .../classes/lotto/domain/WinningStatus.class | Bin 1726 -> 0 bytes .../exception/NotValidLottoLengthException.class | Bin 505 -> 0 bytes .../LastWeekWinningBonusBall.class | Bin 526 -> 0 bytes .../LastWeekWinningLotto.class | Bin 785 -> 0 bytes .../classes/lotto/domain/lottoticket/Lotto.class | Bin 218 -> 0 bytes .../lotto/domain/lottoticket/LottoTicket.class | Bin 1085 -> 0 bytes .../lotto/domain/lottoticket/Lottos.class | Bin 738 -> 0 bytes .../domain/lottoticket/NumberOfLottoTicket.class | Bin 664 -> 0 bytes .../LottoWinningBonusBallResult.class | Bin 795 -> 0 bytes .../lottowinningresult/LottoWinningResult.class | Bin 750 -> 0 bytes .../strategy/RandomLottoNumberStrategy.class | Bin 1698 -> 0 bytes 15 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 out/production/classes/lotto/LottoApplication.class delete mode 100644 out/production/classes/lotto/domain/EnumWinningStatus.class delete mode 100644 out/production/classes/lotto/domain/LottoFactory.class delete mode 100644 out/production/classes/lotto/domain/LottoMachine.class delete mode 100644 out/production/classes/lotto/domain/WinningStatus.class delete mode 100644 out/production/classes/lotto/domain/exception/NotValidLottoLengthException.class delete mode 100644 out/production/classes/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.class delete mode 100644 out/production/classes/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.class delete mode 100644 out/production/classes/lotto/domain/lottoticket/Lotto.class delete mode 100644 out/production/classes/lotto/domain/lottoticket/LottoTicket.class delete mode 100644 out/production/classes/lotto/domain/lottoticket/Lottos.class delete mode 100644 out/production/classes/lotto/domain/lottoticket/NumberOfLottoTicket.class delete mode 100644 out/production/classes/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.class delete mode 100644 out/production/classes/lotto/domain/lottowinningresult/LottoWinningResult.class delete mode 100644 out/production/classes/lotto/domain/strategy/RandomLottoNumberStrategy.class diff --git a/out/production/classes/lotto/LottoApplication.class b/out/production/classes/lotto/LottoApplication.class deleted file mode 100644 index 17f18a596c83b91afeffcfcedd9cc8d150f710a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4590 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 diff --git a/out/production/classes/lotto/domain/LottoFactory.class b/out/production/classes/lotto/domain/LottoFactory.class deleted file mode 100644 index 76da0cbe687d7a161f8205c21acfba716d7eb0d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707 zcmb7CO;5r=5Pe$;2v!QkFT{i1_%Qau4fTKtr$!Ss7>`S7a7o!sN~`f_c_1bp`~m(b zWsf|+vjp>-;QUV8!{9wgcRWw zL$1{xm9T|U5oH70Fc=!X3PWX2)SL@xJ24n?H&nqJgO!{;3Mqx0-g%42C$XNh!bret zni3=_smKbe9~Z3{Fi~Y_W>p7DMvDRW{eSt(jpWzpeTJ~Lkw99uzY%A>XnVwaoQ0{a+1=phkZgMfCDPS67P`mH1ZpSG#vc`y$8k# diff --git a/out/production/classes/lotto/domain/LottoMachine.class b/out/production/classes/lotto/domain/LottoMachine.class deleted file mode 100644 index d41a6c005db228441134afeb9f274ab0329df424..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5361 zcmcIo`+pSG760C3cPH5l5)uL|V0Z}N`MHht&`0p8L~T@?#zPN zR{Ovz_F^i2QL7=@* za@|sTs8lp8JH6Mg6bCHZw(OC9*KjLN5*q3o(F9$?JRLV-zCbF%l9T*>Mt;Y-%&0bXL6R~Cee)gBo?Ag!y+Avu|!}+M3{PUt^Anj zrj;g+K;ww%R-aosyK*yvrOa#-mSUNPI|C?^XQdRvFyn9Nef@#=Usp2*r@5Xk4 zB@q=p&3Z}|n=WhZtPPs3UKxwG>bMOVy3`mN5@_?O!Vc^@k;G2y(y&{{?RXCpLIsB+ z>9t*RM0!R$WfUsr!C@I-y*`X#ifkkHphv@8?kF&z6lr@J`HVs(rs1I9T z$u`djY^+gJk@@CSV_Q|rpr{S%$b)g2a8w)!EUT6nMdyvC{UB*!%NW)%f>B0*YdVak zl@apcik)|@lFiUEhpfEenyh;#F{YuQqX-7h;+eV^kxdPTtpbasz-{3~nnPl^hD2nj zwZ?UP1e6lbduho^dRG!%aCKBIN&@B=y?#3%U9#bjg7{+$NQ|Q8JD8OkKBnV~vWe+~UWq&=OA|rpDGl*9 zKgX`_mBu5+V1Xkoxl-OJ95c$6eD?=q?x@AayDZvDRK)r_gRH>3J1r+)wu+YRHP`bs z0j{hJ_a~<|>8{tC?|?7Bgt^=BdA!@sr{ZK zdKu_Sp1`^&kh75SJ2w+eO%eK4Z^Plx0SgP!ILOH&CU9#F>vf~d7Fr`QfIwj9jY|!< zscWk;%&&+ZptREOchOBEsh5YT12F-c=O$lR&9uO-8clDkv@@>#K2UZ0wi}Y?anS}{ z+29xWxpS#n{aHAoS$Jl=nu%*`f^_E`F}Rznb%*GJ?RJ>h->hV>i?~|2B=I~R9P(p* z#<*V_8vCsgW_+d0;?Wsy2eNO4SDX>j#Z+jqoY`C279VOAxz)X7qXJG!n;npf(3`pz zGGSvMdb_gpKi)Ra4MDXA1<~pmvHWTY=S{CF7{$RMqvL8j+m6k$=gbijT_;$4EPKdg z3r+TyD&@Sn&ywYSfkMzP;+tf{XCb7gTy|??yw7w;OGD251b&yq@9_r>f7J0Oye6=E zX4`Aor%GdHI;T`4hcWE!$po5;;kVbriup|50{abns9-uBxl(DYGM)|T&&>=sQsI#Z z;}IstJDc>Dyf$yRb^FWq@Ql;X^JBId8KUwRdEWS|j#uz%GhStm_u95u?x7PM)6wux zfwi-6n#*Jj|K>^k+N5j-9zIybMeDe|6a4eQ&TE3t{3O8Zm-x0D^=huUdlI618rtzm zG`@)BbDXQgmwA;R5`cM#k^d`v(mi^76<_0lQ^77OylVBRBRFh8EqPOA5Uqi#3W8o z@(W0&8YXbhfHW?qjN8M59QaM45p8JUH-)W8@yNE6N3G@P<2Qk$Xve)+fl;2>$FUj? zPx%j^1Lv@ohOfg@JjP2<&Jv)V{Ood`b~TWDJ-&e_DYcLE-^8~F;#Ta!xA7fr{Rxl{ zo_uxD|Vh6$Vsg-`wVL|Y;in*z^5Ph;&y#sXvK<5Hhb*5M_b&1ei0O~%IA zgt&O+ja2*+WqCect>kW^gOHt+ZS6-N&hc!JtD(Zf@Gig5)Q3DRFxk9bs<1FFjbRn;RaPP{cmt{b E0!T0p8UO$Q diff --git a/out/production/classes/lotto/domain/WinningStatus.class b/out/production/classes/lotto/domain/WinningStatus.class deleted file mode 100644 index 4e9cce9f46a90627074fb7beedbf9f3aa088499a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1726 zcmaJ>T~ixX7=BJR`;o9nSW18tq?UdpTidh>egzQ{gG2*q*$@oQh)Wt_JDXi6*|g)G zmyXx|3@o>^@G6A z-t}9y<7Iap&vU#(E3kuZCkBS74jBqV%qo4pzqwW|Y%t80Uu~1)Mw*ToH%hISYQ?_Q z{%)zdv7fJO?O6NywQ`x$Ms(<$7C)hJ_%$74eYmo--M8lOxDJEEBh`)VV(69Q=X6XW z$)H}Ut(A9*7Q@^ZXC)ZNG-gyJb);~fL2kId*CaRTO!=OD-_E+WcbKgl+-o+1TpV+F zUB$eP3wVPvJ0TRkZi`~xx7}{D@-@R!dceBi+MP~r0I-5Kbu~8_fjbcX7j#_0Wd>#0 z@tk0VAvx$Ov@B(6ywPW zQZVm(-A>+iT{79zAWILHengxYi#&rRhM8f3OM4VsLrh}No_?o6myrDXD-B~3@btC@ zgF9H!@ex+J1fm}uhWT{nOcAKu|ESS|f0z0{R(8DRR=0J~Y*+0Amynx7(#f2qEQ3+@ z8@5}s+YWaT`iXjWi`*Hf^`P+%jvPuiW;ur*jeMJUN?Mf6FnZVwHV67Fr86b!?~&aZ z=p=!Alsr+x)e(KC6hBQNlagy?-1*71qBr`aPG zkN6EFk>|8|ZT1l^nsdjvVou7(FwM#6F|PmezrQ3^OoMCmz= z4dIKw@v3QF>5bRhzvUf}Q6e;gPbs6%P!8+J(#b2A&0lflCqXzVc}j%nmmr5B7&fsr z#Q6Hl#^;9`SB6G5UpAgUZJdbny$d7fL}9>!_9s|f>Or#V(H>N*F864d>PiozR$c8O zVV%}d!)@FN9sK~6iUz*?gZvn`q=X_FZ#}}>4# F{{;@}L?i$J diff --git a/out/production/classes/lotto/domain/exception/NotValidLottoLengthException.class b/out/production/classes/lotto/domain/exception/NotValidLottoLengthException.class deleted file mode 100644 index bb4f58438def55485751fbef265ae68cc560f31c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 505 zcmbVJJx>Bb5S<0|5JB`53oGcrf-4jojENy=b5eMQet`|FId;vlXZ!;uL|REKjIofy zPK}Ai5PyI_#e=_KoHc$FCKfg`^WMz9-Ff@+_Vf$@tFUN5h`@>~m6BFNwka1DJF2q- z#ig(+QdOzT8@6uSOf*%i{MC#?gg`F1>yFPJgOk(r+Uw1EFc_vs7stWnVBEhS^@r(k z|2pV(gWgp>29sbI5RJnW#0V_y(?e>xR5Yz!Unt&Y-@*hY*SX+ogFq^4|I9hcD}>B2k#bN=s;L!aQaI3m8L?dIx;Mk7@t_ diff --git a/out/production/classes/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.class b/out/production/classes/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.class deleted file mode 100644 index 52c2ba058ee2f1e7458a908467d0e3706c1ebd70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 526 zcmbVIJx>Bb6r6V)cXFJ9UswCVG*~#pD|9pM{xWGvO2PGeFh%!7veI}kolnOnK?vj}tX9TaSw92jt zrB-`b!44`uf)G`Ngv-=qnTaN5E|lhH%WN&>(^_e*^t9N;42~Ea6=2Wk)v_njlu$|j zdKwVi)}TG)>&8qZp%yDGZ&&j~E*?aZGI9``u}Ftvq3pZ?-Rw~<3ElYrPOb>esm!(; z<&U$y;NGkjW7${M%jq`uxeX9!9FxNVvuPU?cMkVu>~h`Xsn4_B2b~X4r}+;5HRsg0 z?xDohg9{%v?mAD6f{lIFvnR+^iPa8qw9$f4`#fqKHyGxt zV}*@ciy?aw_K2k93dzrh{SJ>Vy-q+#*$um1(DEXo;}p!QYcXIrbVmpL@A@>w(kSiY z-4Atje7wnf=$WT{uF@Y-uGYr4V%YfuPUd2;n&B|&@>8KVu1q?yJ$*jdqSH6PFhg%y z-vF{Dx<>}=7|&sjY?+WNvIbeJ{svaxeTDfHB3+ZKzrcJV$B2dUF=)pE2}v#$NQPdc{CZry@eM0Uy#W9K diff --git a/out/production/classes/lotto/domain/lottoticket/Lotto.class b/out/production/classes/lotto/domain/lottoticket/Lotto.class deleted file mode 100644 index 72d560fdea7a939e831c393b1be958046ab35737..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmZXOJr2S!6odT=^p6E`09Ifj3tJH*5>h3Go*mMv{MqvR z^Lzo=VwxZ#EUaU8;^J=7v?3Tb^;NMbhakb2Fl*#P3M*SJPUl9|Oh~oj01)P@bs2!3 zjTNQ2b3w=|qg%;+rwGeGVD~G8#be7#tFGAlR$jTjtJT3+U(3V(W|)o%gpq#@kpDA5 O?0w>0gw(4nsQe3AK{*fr diff --git a/out/production/classes/lotto/domain/lottoticket/LottoTicket.class b/out/production/classes/lotto/domain/lottoticket/LottoTicket.class deleted file mode 100644 index 4041bb774e061ead7a1d06de8b90e7f961a32483..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1085 zcmaJ=T~8B16g|^V+HMQ9wJ0ir^3e}vAM_2vg9H)#B6fs-ZOLWIrq-&??2yv0(b#CjR>Mi#4N;-5STf2-@10!_1kvi z=u~=IAhD@@rMCp4l1-O*)dcDt-7|O`g)_%O0js(!Zc}r?`zi&Sq3u7d2_(2ebx3|J?K&4%0y?I!`MuJ*VnQw zdmCFDY-l?;=J9Dq`Lb@t(sYlyMDkAHx!soAQ(-&;WBNpKY^%=yg%9tB)l1_=-k)C< zDo(Z?0B^4?klqglJx{(;VZSq`=1}>1 zc_S7WW<#ak)mgPFF7=seQNNg3J0Xu?HkCxH~+tuJj?C8iA71SDcNVV+45*shpLhr#TM zQOM;i_8Cr>(rx!|=3b)Wbcm+bSn73}eFptJ8WL~W6`_AQn+*K8#|Hr+RX6f@(C4vG z@f_6Uji6x<|52TiT>WSN!`*_zS)OC%GpKpZkuMi_R&6wwkHm2H3tX9>!Rkh{*z+%h zx`BMEbF3DELt3atzXDy1S}EBgMH))<()Lg$TOs6{tg5qGuVAgC7Z^_zWw1`)5?K(B z4wD{>n1Fg(jT$y6qP{u%CizMwMM~d#b@H~bJy)|SQZ?DuGmJ-av_vSEfW<^0CCSbO N(xG=KznfI=eF2iPt*-z8 diff --git a/out/production/classes/lotto/domain/lottoticket/NumberOfLottoTicket.class b/out/production/classes/lotto/domain/lottoticket/NumberOfLottoTicket.class deleted file mode 100644 index 0306c4fbdd33873d30db02ab2d8c3b6a1f53e700..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664 zcmb7>%TB^T6o&t4p-2G%FM!}B?tmD&aizu$(FD_o(T1%VV8mi+6BtZqd^L?Matw(Dhg_`1kh0s3)4sjBZZ*#sGR?rBNbbuH_ohMz^!b9&p{p76 z1w+<$eX%Iz@UBOeH9P2WufxZ#(vdMH?_DaaG?F++S5_~MD7Fj(49I4k> zJ#p@;50sX4-caMlKJ~59Iy97#M-KGaP_5HV!=SfLwm3HE+$42DTE(x{XJGYuWroBX zGB06HLD|U<&{Bz;K@vq$g+&HR*dnE3%3&oh6=VLjzzc1h}U0{`HRVi7*&!2A`HV0DGj^d3HN^J diff --git a/out/production/classes/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.class b/out/production/classes/lotto/domain/lottowinningresult/LottoWinningBonusBallResult.class deleted file mode 100644 index 2245781642041f16aacfa3ee319a4f9f8b46635d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 795 zcmbtSO-sW-5PjQE8~dTH)=xwaVq3vnyj49^@DvoRRIl3_>Xvm^(v9N3QcwgB{s4cJ zIGa?#TD(X|X5P%~d$W^y|9E`^u!~g(2_&;f<&j2)VP?Q@xhuKqyC>a&-!lxEJ)wj- zU`W>LogAi+%fiWH8hM7M)W&G{QeShS+z8wWrG)AS{xFor^=$q;4z;ujhb=DUX_RA_ zpO~d4yr_%N2UzlO*S8%cdgVWYw(DRRk9me_}N;~%NV1qUxK|4f)v%5gHKq!GCy^NNr zM0SQE7i4Xn(|7@EY(FFWNGOR}`WDH8cv8sG;}8>2jjK_?93eV4VxK49s>G4vw_cUJ n1uTx#Ttc=c-FQOwft*Anl!=0cNFXLjj|AeTmngp+Rj+&k)nLQx diff --git a/out/production/classes/lotto/domain/lottowinningresult/LottoWinningResult.class b/out/production/classes/lotto/domain/lottowinningresult/LottoWinningResult.class deleted file mode 100644 index 215e5daf3a5fe680d858f5abda5591bd25a05181..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750 zcmb7CO-sW-5PjRP*cxlCT0buy#I}L~>8;{L5QLy$rFu>461T*Sq#MP5rJx8N`~m(b zads00(_SQOX5ZV{c{4ln`Stz*po7f{a>!dK*eIgJP#byoo)dV|cg_YQK2!{)10jVv zWXLyL{W4}ywotJ#3!7m-2$c$*>+seS(lOvcNGYTr@o^j|$JOVT33YBL2HW_hBuTnP zGgcySTrpN%hH_8%(o=E78MZUW2MIPQo=C-g9(51t&SEp;*lqP03P<5J1(|n+cG9gU)x^=W5!U)tjws zc?>%frmMl`KF5r3Zz+I-y45jYTXGqI+rdW!h_%gsJ}OHE6ej)l|(PqWiRO`2l{6A7GWs>6yWV1Rs1zcka^Xo_qREfBW_MD}W1l5Jd=K1rZg8&>|4u(qHJA zvTl_!`SmTM;0m+t!Q?#Gyrj@C0-Y7ZtqU--WC$cvqncN_>YC+@W>(y3S*cw`2jT)9rG1Ag0w+?9 z`Aq-{k}Ow4z2!LiwuFu%fp8Sv=uyzC;s}lkBx-%FT=wuPc??qgyZM5Yj5fC4orAc6cJT{P5wOM{9HW z<%Qb(8s2}Miq(&1jhF1IuKeG5Wx26~ z{Qs)bw&?1Gr}O&rK;?MBpE9H9%R-g3#sNDRtMQvUI7=Y9Xjh$rao3bLJ=k!wzv;!Z?NrOoFcntq{)Ao~pCY(LP^iUqFPpe5JTv<9`B%2i(K!IPrOAk-M@>jk2tpaIwaox z{+^ZuA|8PrLIR!aq6=|8R7bfFq1PjGoM7_tx zq6!k?2hnOo`M?H5UlCan?Mm-rFddG!e8QOd-UBWdI-5cO?-Zr From 0666ef43b4e6b5161366914e55ab2d09c7c985c6 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Sat, 3 Apr 2021 22:16:43 +0900 Subject: [PATCH 24/31] =?UTF-8?q?refactor:=20Printer=20class=20=EC=95=88?= =?UTF-8?q?=20=EC=9E=AC=EC=A0=95=EB=A0=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/ui/Printer.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/lotto/ui/Printer.java b/src/main/java/lotto/ui/Printer.java index e173dfc..37c8dec 100644 --- a/src/main/java/lotto/ui/Printer.java +++ b/src/main/java/lotto/ui/Printer.java @@ -12,16 +12,20 @@ public class Printer { private static final String REQUEST_LOTTO_BONUS_BALL_NUMBER_MESSAGE = "๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”"; private static final String PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE = "%s๊ฐœ ์ผ์น˜ (%s์›)- %s๊ฐœ"; private static final String PRINT_LOTTO_PROFIT_MESSAGE = "์ด ์ˆ˜์ต๋ฅ ์€ %f์ž…๋‹ˆ๋‹ค."; + public void requestPurchaseAmount() { System.out.println(REQUEST_PURCHASE_AMOUNT_MESSAGE); } + public void requestLastWeekLottoWinningNumber() { System.out.println(REQUEST_LAST_WEEK_LOTTO_WINNING_NUMBER_MESSAGE); } + public void requestLottoBonusBallNumber() { System.out.println(REQUEST_LOTTO_BONUS_BALL_NUMBER_MESSAGE); } - public void printAllLotto(Lottos lottos){ + + public void printAllLotto(Lottos lottos) { for (LottoTicket lotto : lottos.getLottos()) { System.out.println(lotto.getLotto()); } @@ -31,7 +35,7 @@ public void printAllMatchedLottoResult(Map lottoPrices) List keySet = new ArrayList(lottoPrices.keySet()); keySet.sort(Comparator.comparingInt(WinningStatus::getWinningMoney)); - for(WinningStatus key: keySet) { + for (WinningStatus key : keySet) { System.out.println(String.format(PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE, key.getMatchCount(), key.getWinningMoney(), lottoPrices.get(key))); } } From 121c28a28c35337322f7fc720f2fda0f07f64a7e Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Sat, 3 Apr 2021 22:17:57 +0900 Subject: [PATCH 25/31] =?UTF-8?q?refactor:=20Receiver=20class=20=EC=95=88?= =?UTF-8?q?=20=EC=9E=AC=EC=A0=95=EB=A0=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/ui/Receiver.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/lotto/ui/Receiver.java b/src/main/java/lotto/ui/Receiver.java index 1b42d54..3d8afae 100644 --- a/src/main/java/lotto/ui/Receiver.java +++ b/src/main/java/lotto/ui/Receiver.java @@ -30,7 +30,8 @@ private List splitInputLine(String line) { } private List convertStringToInt(List dividedLastWeekLottoWinningNumbers) { - return dividedLastWeekLottoWinningNumbers.stream().map(Integer::parseInt).collect(Collectors.toList()); - + return dividedLastWeekLottoWinningNumbers.stream() + .map(Integer::parseInt) + .collect(Collectors.toList()); } } From 7db2cfb85cfe685b13d2af84a7d3fd27715bbd76 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Sun, 4 Apr 2021 00:43:51 +0900 Subject: [PATCH 26/31] =?UTF-8?q?feat:=20profit=EC=9D=B4=201=EB=B3=B4?= =?UTF-8?q?=EB=8B=A4=20=ED=81=B0=EC=A7=80=20=EC=9E=91=EC=9D=80=EC=A7=80=20?= =?UTF-8?q?=EC=97=AC=EB=B6=80=20=ED=8C=8C=EC=95=85=20method=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/domain/Profit.java | 27 ++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/main/java/lotto/domain/Profit.java b/src/main/java/lotto/domain/Profit.java index d5379d9..74ce809 100644 --- a/src/main/java/lotto/domain/Profit.java +++ b/src/main/java/lotto/domain/Profit.java @@ -5,17 +5,32 @@ import java.util.List; public class Profit { - private static int totalLottoPrice; - public Profit(List lottoPrices) { - int sumLottoPrices = sumLottoPrices(lottoPrices); - totalLottoPrice = sumLottoPrices; + private static final int PROFIT_THRESHOLD = 1; + private static int sumLottoPrices; + private static NumberOfLottoTicket numberOfLottoTicket; + private static float calculatedProfit; + public Profit(List lottoPrices, NumberOfLottoTicket numberOfLottoTicket) { + this.sumLottoPrices = sumLottoPrices(lottoPrices); + this.numberOfLottoTicket = numberOfLottoTicket; + this.calculatedProfit = CalculatedProfit(); } private int sumLottoPrices(List lottoPrices){ return lottoPrices.stream().mapToInt(WinningStatus::getWinningMoney).sum(); } - public float getCalculatedProfit(NumberOfLottoTicket numberOfLottoTicket) { - return (float) totalLottoPrice / numberOfLottoTicket.getMoney(); + private float CalculatedProfit() { + return (float) sumLottoPrices / numberOfLottoTicket.getMoney(); + } + + public boolean isProfit() { + if (calculatedProfit Date: Sun, 4 Apr 2021 00:45:01 +0900 Subject: [PATCH 27/31] =?UTF-8?q?docs(refactor):=20=EB=B6=88=ED=95=84?= =?UTF-8?q?=EC=9A=94=ED=95=9C=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index 4f4c3d1..7c50e48 100644 --- a/README.md +++ b/README.md @@ -43,12 +43,6 @@ 1, 2, 3, 4, 5, 6 ๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”. 7 -class 3๊ฐœ -lastweek () -bonusnumbe() -lastweekWinnerLotto -.method(lastweek, bonus) -if(5๊ฐœ ๋งž์„ ์‹œ์—) ๋‹น์ฒจ ํ†ต๊ณ„ --------- From 758faba6353bf608da1a44a8a84d29ba0e5d2346 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Sun, 4 Apr 2021 00:47:31 +0900 Subject: [PATCH 28/31] =?UTF-8?q?refactor:=20=EB=A1=9C=EB=98=90=20?= =?UTF-8?q?=EC=B5=9C=EC=A2=85=20=EA=B2=B0=EA=B3=BC=EA=B0=92=20=EC=B6=9C?= =?UTF-8?q?=EB=A0=A5=20method=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20Printer?= =?UTF-8?q?=20class=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/lotto/domain/EnumWinningStatus.java | 3 +- src/main/java/lotto/ui/Printer.java | 58 +++++++++++++++++-- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/src/main/java/lotto/domain/EnumWinningStatus.java b/src/main/java/lotto/domain/EnumWinningStatus.java index e373e1d..d7fe396 100644 --- a/src/main/java/lotto/domain/EnumWinningStatus.java +++ b/src/main/java/lotto/domain/EnumWinningStatus.java @@ -24,7 +24,8 @@ public ArrayList getLottoPrices(LottoFactory lottoFactory, Number Boolean lottoBonusBallNumber = lottoWinningBonusBallResult.getLottoWinningBonusBallResult().get(i); getWinningLottoTicketPrices(lottoMatchedNumber, lottoBonusBallNumber); } - printer.printAllMatchedLottoResult(getMappingLottoWithBonusBall()); + printer.printWinningStatistics(); + printer.printAllMatchedLottoResults(getMappingLottoWithBonusBall()); return lottoPrices; } diff --git a/src/main/java/lotto/ui/Printer.java b/src/main/java/lotto/ui/Printer.java index 37c8dec..d40460a 100644 --- a/src/main/java/lotto/ui/Printer.java +++ b/src/main/java/lotto/ui/Printer.java @@ -10,8 +10,12 @@ public class Printer { private static final String REQUEST_PURCHASE_AMOUNT_MESSAGE = "๊ตฌ์ž…๊ธˆ์•ก์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; private static final String REQUEST_LAST_WEEK_LOTTO_WINNING_NUMBER_MESSAGE = "์ง€๋‚œ ์ฃผ ๋‹น์ฒจ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; private static final String REQUEST_LOTTO_BONUS_BALL_NUMBER_MESSAGE = "๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”"; - private static final String PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE = "%s๊ฐœ ์ผ์น˜ (%s์›)- %s๊ฐœ"; - private static final String PRINT_LOTTO_PROFIT_MESSAGE = "์ด ์ˆ˜์ต๋ฅ ์€ %f์ž…๋‹ˆ๋‹ค."; + private static final String PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE = "%s๊ฐœ ์ผ์น˜%s(%s์›)- "; + private static final String PRINT_LOTTO_PROFIT_MESSAGE = "์ด ์ˆ˜์ต๋ฅ ์€ %.2f์ž…๋‹ˆ๋‹ค."; + private static final String PRINT_MATCH_BONUS_BALL_MESSAGE = ", ๋ณด๋„ˆ์Šค ๋ณผ ์ผ์น˜"; + private static final String PRINT_DIVIDER_MESSAGE = "---------\n"; + private static final String PRINT_WINNING_STATISTICS_MESSAGE = "\n๋‹น์ฒจ ํ†ต๊ณ„\n"; + private static final String PRINT_PROFIT_LOSS_MESSAGE = "(๊ธฐ์ค€์ด 1์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ์ ์œผ๋กœ ์†ํ•ด๋ผ๋Š” ์˜๋ฏธ์ž„)"; public void requestPurchaseAmount() { System.out.println(REQUEST_PURCHASE_AMOUNT_MESSAGE); @@ -25,23 +29,65 @@ public void requestLottoBonusBallNumber() { System.out.println(REQUEST_LOTTO_BONUS_BALL_NUMBER_MESSAGE); } + public void printWinningStatistics() { + System.out.print(PRINT_WINNING_STATISTICS_MESSAGE); + System.out.print(PRINT_DIVIDER_MESSAGE); + } + public void printAllLotto(Lottos lottos) { for (LottoTicket lotto : lottos.getLottos()) { System.out.println(lotto.getLotto()); } } - public void printAllMatchedLottoResult(Map lottoPrices) { + public void printAllMatchedLottoResults(Map lottoPrices) { List keySet = new ArrayList(lottoPrices.keySet()); keySet.sort(Comparator.comparingInt(WinningStatus::getWinningMoney)); - for (WinningStatus key : keySet) { - System.out.println(String.format(PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE, key.getMatchCount(), key.getWinningMoney(), lottoPrices.get(key))); + for(WinningStatus winningStatus: WinningStatus.values()){ + printMatchedLottoWithBonusBallFormat(winningStatus); + printMatchedLottoFormat(winningStatus); + printMatchedLottoResult(winningStatus, lottoPrices); + } + } + + private void printMatchedLottoResult(WinningStatus winningStatus, Map lottoPrices) { + if (lottoPrices.get(winningStatus) == null){ + System.out.println("0๊ฐœ"); + } + if (lottoPrices.get(winningStatus) != null){ + System.out.println(lottoPrices.get(winningStatus)+"๊ฐœ"); + } + } + + private void printMatchedLottoFormat(WinningStatus winningStatus) { + if (!winningStatus.hasBonusBall()) { + System.out.print(String.format( + PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE, + winningStatus.getMatchCount(), + "", + winningStatus.getWinningMoney())); + } + } + + private void printMatchedLottoWithBonusBallFormat(WinningStatus winningStatus) { + if (winningStatus.hasBonusBall()){ + System.out.print(String.format( + PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE, + winningStatus.getMatchCount(), + PRINT_MATCH_BONUS_BALL_MESSAGE, + winningStatus.getWinningMoney())); } } public void printLottoProfit(float calculatedProfit) { - System.out.println(String.format(PRINT_LOTTO_PROFIT_MESSAGE, calculatedProfit)); + System.out.print(String.format(PRINT_LOTTO_PROFIT_MESSAGE, calculatedProfit)); + } + + public void printIsLottoProfit(boolean isProfit) { + if(!isProfit) { + System.out.println(PRINT_PROFIT_LOSS_MESSAGE); + } } } From 00361335a766cae34bd866ccdc958a400db2c075 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Sun, 4 Apr 2021 00:48:22 +0900 Subject: [PATCH 29/31] =?UTF-8?q?feat:=20out=20file=20=EC=A0=9C=EC=99=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 573e847..09f21d0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea/ .gradle/ build/ +out \ No newline at end of file From d94f4d6c9b66603ad5ed99e70fad57d633d23007 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Sun, 4 Apr 2021 00:49:03 +0900 Subject: [PATCH 30/31] =?UTF-8?q?refactor:=20profit=20=EA=B0=9D=EC=B2=B4?= =?UTF-8?q?=20=EA=B4=80=EB=A0=A8=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/LottoApplication.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/lotto/LottoApplication.java b/src/main/java/lotto/LottoApplication.java index d26de22..c93ae2d 100644 --- a/src/main/java/lotto/LottoApplication.java +++ b/src/main/java/lotto/LottoApplication.java @@ -26,14 +26,18 @@ public void run() { NumberOfLottoTicket numberOfLottoTicket = new NumberOfLottoTicket(receiver.receiveLottoTotalAmount()); Lottos lottos = makeLottos(numberOfLottoTicket); printer.printAllLotto(lottos); + printer.requestLastWeekLottoWinningNumber(); List LastWeekLottoWinningNumbers = receiver.receiveLastWeekLottoWinningNumbers(); LastWeekWinningLotto lastWeekWinningLotto = new LastWeekWinningLotto(LastWeekLottoWinningNumbers); + printer.requestLottoBonusBallNumber(); LastWeekWinningBonusBall lastWeekWinningBonusBall = new LastWeekWinningBonusBall(receiver.receiveLottoBonusBallNumber()); ArrayList getLottoPrices = lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall, numberOfLottoTicket); - Profit profit = new Profit(getLottoPrices); - printer.printLottoProfit(profit.getCalculatedProfit(numberOfLottoTicket)); + Profit profit = new Profit(getLottoPrices, numberOfLottoTicket); + + printer.printLottoProfit(profit.getProfit()); + printer.printIsLottoProfit(profit.isProfit()); } private Lottos makeLottos(NumberOfLottoTicket numberOfLottoTicket) { From 307ecf14901cd3480a506126a57a0daa8dd7cc82 Mon Sep 17 00:00:00 2001 From: Sehoon In Date: Wed, 7 Apr 2021 17:55:43 +0900 Subject: [PATCH 31/31] =?UTF-8?q?refactor:=20=EC=BD=94=EB=93=9C=EB=A6=AC?= =?UTF-8?q?=EB=B7=B0=EB=A5=BC=20=ED=86=B5=ED=95=9C=20=EA=B5=AC=EC=A1=B0=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/lotto/LottoApplication.java | 3 ++- .../lastweekwinninglotto/LastWeekWinningBonusBall.java | 1 + .../lastweekwinninglotto/LastWeekWinningLotto.java | 9 +++++++++ src/main/java/lotto/domain/lottoticket/LottoTicket.java | 1 + src/main/java/lotto/ui/Printer.java | 8 +++++++- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/lotto/LottoApplication.java b/src/main/java/lotto/LottoApplication.java index c93ae2d..3a720db 100644 --- a/src/main/java/lotto/LottoApplication.java +++ b/src/main/java/lotto/LottoApplication.java @@ -24,6 +24,7 @@ public class LottoApplication { public void run() { printer.requestPurchaseAmount(); NumberOfLottoTicket numberOfLottoTicket = new NumberOfLottoTicket(receiver.receiveLottoTotalAmount()); + printer.printNumberOfLottoTicket(numberOfLottoTicket); Lottos lottos = makeLottos(numberOfLottoTicket); printer.printAllLotto(lottos); @@ -32,7 +33,7 @@ public void run() { LastWeekWinningLotto lastWeekWinningLotto = new LastWeekWinningLotto(LastWeekLottoWinningNumbers); printer.requestLottoBonusBallNumber(); - LastWeekWinningBonusBall lastWeekWinningBonusBall = new LastWeekWinningBonusBall(receiver.receiveLottoBonusBallNumber()); + LastWeekWinningBonusBall lastWeekWinningBonusBall = new LastWeekWinningBonusBall(receiver.receiveLottoBonusBallNumber(), lastWeekWinningLotto); ArrayList getLottoPrices = lottoMachine.Discriminator(lottos, lastWeekWinningLotto, lastWeekWinningBonusBall, numberOfLottoTicket); Profit profit = new Profit(getLottoPrices, numberOfLottoTicket); diff --git a/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.java b/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.java index 06688a3..246b568 100644 --- a/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.java +++ b/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningBonusBall.java @@ -4,6 +4,7 @@ public class LastWeekWinningBonusBall { private final int bonusBall; public LastWeekWinningBonusBall(int bonusBall){ + int df = validate(bonusBall); this.bonusBall = bonusBall; } diff --git a/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.java b/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.java index c778ba6..9147f26 100644 --- a/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.java +++ b/src/main/java/lotto/domain/lastweekwinninglotto/LastWeekWinningLotto.java @@ -1,16 +1,25 @@ package lotto.domain.lastweekwinninglotto; +import lotto.domain.exception.NotValidLottoLengthException; import lotto.domain.lottoticket.Lotto; import java.util.List; public class LastWeekWinningLotto implements Lotto { + private static final int LOTTO_NUMBER_COUNT = 6; private final List winningLotto; public LastWeekWinningLotto(List winningLotto){ + checkLottoLength(winningLotto); this.winningLotto = winningLotto; } + private void checkLottoLength(List numbers){ + if(numbers.size() !=LOTTO_NUMBER_COUNT){ + throw new NotValidLottoLengthException(); + } + } + @Override public List getLotto(){ return this.winningLotto; diff --git a/src/main/java/lotto/domain/lottoticket/LottoTicket.java b/src/main/java/lotto/domain/lottoticket/LottoTicket.java index c5f24d5..c50832e 100644 --- a/src/main/java/lotto/domain/lottoticket/LottoTicket.java +++ b/src/main/java/lotto/domain/lottoticket/LottoTicket.java @@ -18,6 +18,7 @@ private void checkLottoLength(List numbers){ throw new NotValidLottoLengthException(); } } + @Override public List getLotto(){ return this.numbers; diff --git a/src/main/java/lotto/ui/Printer.java b/src/main/java/lotto/ui/Printer.java index d40460a..cd10ea2 100644 --- a/src/main/java/lotto/ui/Printer.java +++ b/src/main/java/lotto/ui/Printer.java @@ -3,12 +3,13 @@ import lotto.domain.WinningStatus; import lotto.domain.lottoticket.LottoTicket; import lotto.domain.lottoticket.Lottos; +import lotto.domain.lottoticket.NumberOfLottoTicket; import java.util.*; public class Printer { private static final String REQUEST_PURCHASE_AMOUNT_MESSAGE = "๊ตฌ์ž…๊ธˆ์•ก์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; - private static final String REQUEST_LAST_WEEK_LOTTO_WINNING_NUMBER_MESSAGE = "์ง€๋‚œ ์ฃผ ๋‹น์ฒจ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; + private static final String REQUEST_LAST_WEEK_LOTTO_WINNING_NUMBER_MESSAGE = "\n์ง€๋‚œ ์ฃผ ๋‹น์ฒจ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."; private static final String REQUEST_LOTTO_BONUS_BALL_NUMBER_MESSAGE = "๋ณด๋„ˆ์Šค ๋ณผ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”"; private static final String PRINT_FINAL_MATCHED_LOTTO_RESULT_MESSAGE = "%s๊ฐœ ์ผ์น˜%s(%s์›)- "; private static final String PRINT_LOTTO_PROFIT_MESSAGE = "์ด ์ˆ˜์ต๋ฅ ์€ %.2f์ž…๋‹ˆ๋‹ค."; @@ -16,6 +17,7 @@ public class Printer { private static final String PRINT_DIVIDER_MESSAGE = "---------\n"; private static final String PRINT_WINNING_STATISTICS_MESSAGE = "\n๋‹น์ฒจ ํ†ต๊ณ„\n"; private static final String PRINT_PROFIT_LOSS_MESSAGE = "(๊ธฐ์ค€์ด 1์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ์ ์œผ๋กœ ์†ํ•ด๋ผ๋Š” ์˜๋ฏธ์ž„)"; + private static final String PRINT_NUMBER_OF_LOTTO_TICKET = "๊ฐœ๋ฅผ ๊ตฌ๋งคํ–ˆ์Šต๋‹ˆ๋‹ค."; public void requestPurchaseAmount() { System.out.println(REQUEST_PURCHASE_AMOUNT_MESSAGE); @@ -89,5 +91,9 @@ public void printIsLottoProfit(boolean isProfit) { System.out.println(PRINT_PROFIT_LOSS_MESSAGE); } } + + public void printNumberOfLottoTicket(NumberOfLottoTicket numberOfLottoTicket) { + System.out.println(numberOfLottoTicket.getNumberOfLottoTicket() + PRINT_NUMBER_OF_LOTTO_TICKET); + } }