#Lotto ํด๋์ค ๊ธฐ๋ณธ Lottoํด๋์ค์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- public Lotto() : ๊ธฐ๋ณธ ์์ฑ์. ๋ค๋ฅธ ํด๋์ค์์ Lotto ํด๋์ค๋ฅผ ์ด๊ธฐํํ์ฌ ์ฌ์ฉํ๊ธฐ ์ํด ๋ง๋ค์์ต๋๋ค.
- public List getNumbers() : Lotto ํด๋์ค์ ๋ฉค๋ฒ๋ณ์ numbers๋ฅผ ๋ฐํํ๋ ํจ์.
- public int rankLotto(List userNumbers, int bonus) : Lotto class์ ์ ์ฅ๋ ๋ก๋ ๋ฒํธ์ ๋น์ฒจ๋ฒํธ userNumbers, ๋ณด๋์ค๋ฒํธ bonus๋ฅผ ์ด์ฉํ์ฌ ๋ณต๊ถ์ ๋ฑ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- public int checkLRank(int cnt, boolean bonusFlag) : rankLotto ํจ์์์ ๋น์ฒจ๋ฒํธ์ ๊ฒน์น๋ ๋ฒํธ์ ๊ฐ์ cnt, ๋ณด๋์ค๋ฒํธ์ ๋น์ฒจ ์ ๋ฌด bonusFlag๋ฅผ ์ด์ฉํ์ฌ ๋ณต๊ถ์ ๋ฑ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
#InputInfo ํด๋์ค ์ฌ์ฉ์์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๋ ํด๋์ค์ ๋๋ค. ๋ก๋๊ตฌ๋งค๊ธ์ก, ๋น์ฒจ๋ฒํธ, ๋ณด๋์ค ๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ์์ธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
-public InputInfo() : ๊ธฐ๋ณธ ์์ฑ์. ๋น์ฒจ๋ฒํธ๋ฅผ ์ ์ฅํ List userNumbers์ ์์ธ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ง๋ CheckError check๋ฅผ ์ด๊ธฐํํฉ๋๋ค. -public setPrice() : ๋ก๋๊ตฌ๋งค๊ธ์ก์ ์ ๋ ฅ๋ฐ๊ณ ์ฒ๋ฆฌํ๋ ํจ์. ๊ตฌ๋งค ๊ธ์ก์ ์ ๋ ฅ๋ฐ์ ๋ค "๋ฌธ์ ์์ธ->์์ ์์ธ->1000์์ผ๋ก ๋๋์ด ๋จ์ด์ง์ง ์๋ ์์ธ" ์์๋ก ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ๋ ฅํ ํ์์ด ๋ง๋ค๋ฉด int price ๋ฉค๋ฒ๋ณ์์ ์ ์ฅํฉ๋๋ค. -public setNumbers() : ๋น์ฒจ๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ์ฒ๋ฆฌํ๋ ํจ์. ๋น์ฒจ๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ค "์ ๋ ฅ ํ์ ์์ธ->์ ๋ ฅํ ์ซ์ ๊ฐ์๊ฐ ๋ค๋ฅธ ์์ธ->๋ฌธ์ ์์ธ->์ค๋ณต ์์ธ" ์์๋ก ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ๋ ฅํ ํ์์ด ๋ง๋ค๋ฉด List userNumbers ๋ฉค๋ฒ ๋ณ์์ ์ ์ฅํฉ๋๋ค. -public setBonus() : ๋ณด๋์ค๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ์ฒ๋ฆฌํ๋ ํจ์. ๋ณด๋์ค๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ค "๋ฌธ์ ์์ธ->๋ฒ์ ์์ธ->๋น์ฒจ๋ฒํธ์ ์ค๋ณต๋ ์ซ์ ์์ธ" ์์๋ก ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ๋ ฅํ ํ์์ด ๋ง๋ค๋ฉด int bonus ๋ฉค๋ฒ๋ณ์์ ์ ์ฅํฉ๋๋ค. -public List changeNumbersType(String[] str) : ๋น์ฒจ๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ๋ ๊ณผ์ ์์ String[] ํ์ ์ผ๋ก ์ ๋ ฅ๋ฐ์ ๋น์ฒจ๋ฒํธ๋ฅผ List ํ์ ์ผ๋ก ๋ณ๊ฒฝํ๊ธฐ ์ํ ํจ์. -public int getPrice(), public List getUserNumbers(), public int getBonus() : ํด๋น ๋ฉค๋ฒ๋ณ์์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
#BuyLotto ํด๋์ค ์ ๋ ฅ๋ฐ์ ๋ก๋๊ตฌ๋งค๊ธ์ก์ ๋ฐํ์ผ๋ก ๋ก๋๋ฅผ ๊ตฌ๋งคํ๊ธฐ ์ํ ํด๋์ค์ ๋๋ค.
-public BuyLotto(int price) : ๊ธฐ๋ณธ ์์ฑ์. InputInfo ํด๋์ค๋ฅผ ํตํด ์ ๋ ฅ๋ฐ์ price๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ต๋๋ค. ๋ํ, ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด์ int count ๋ฉค๋ฒ๋ณ์์ Lotto[] lottos ๋ฉค๋ฒ๋ณ์์ ๊ฐ์ settingํฉ๋๋ค. -public void setCount(int price) : ๋ก๋๊ตฌ๋งค๊ฐ์๋ฅผ ๊ณ์ฐํ์ฌ int count ๋ฉค๋ฒ๋ณ์์ ์ ์ฅํฉ๋๋ค. -public void setLottos() : ๋ก๋๊ตฌ๋งค๊ฐ์๋งํผ์ ๋ก๋๋ฅผ ๋ง๋ค๊ณ , Lotto[] lottos์ ์ ์ฅํฉ๋๋ค. -public void printBuyLottos() : ๊ตฌ๋งคํ ๋ก๋์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํฉ๋๋ค. -public int getCount(), public Lotto[] getLottos() : ํด๋น ๋ฉค๋ฒ๋ณ์์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
#CalculateBenefit ํด๋์ค ์ ๋ ฅ๋ฐ์ ๋น์ฒจ๋ฒํธ์ ๋ณด๋์ค๋ฒํธ๋ฅผ ๋ฐํ์ผ๋ก ๊ตฌ๋งคํ ๋ก๋์ ์ด์ต์ ํ์ธํ๊ธฐ ์ํ ํด๋์ค์ ๋๋ค.
-public CalculateBenefit(int price, int bonus, Lotto[] lottos, List userNumber) : ๊ธฐ๋ณธ ์์ฑ์: InputInfo ํด๋์ค๋ฅผ ํตํด ์ ๋ ฅ๋ฐ์ ๋ก๋๊ตฌ๋งค๊ธ์ก, ๋ณด๋์ค๋ฒํธ, ๊ตฌ๋งคํ ๋ก๋ ๋ฆฌ์คํธ, ๋น์ฒจ๋ฒํธ๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ต๋๋ค. ๋ํ, ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด์ int[] lottoRank๋ฅผ ์ด๊ธฐํํ๊ณ , int benefit๊ณผ double benefitRate๋ฅผ settingํฉ๋๋ค. -public void setBenefit(Lotto[] lottos) : ๊ตฌ๋งคํ ๋ก๋๋ก ๋ฒ ๋์ ๊ณ์ฐํ๋ ํจ์. Lotto ํด๋์ค์ rankLotto๋ฅผ ์ด์ฉํ์ฌ ๋ฑ์๋ฅผ ์์๋ด๊ณ , ํด๋น ๋ฑ์์ ์๊ธ์ ๋ชจ๋ ํฉํ์ฌ benefit์ ์ ์ฅํ๋ฉด์ ์ด ์ด์ต์ ๊ณ์ฐํฉ๋๋ค. ์ด ๊ณผ์ ์์ 1~5๋ฑ๊น์ง์ ๋ก๋ ๊ฐ์๋ฅผ lottoRank์ ์ ์ฅํฉ๋๋ค. -public void setBenefitRate(Lotto[] lottos) : ๊ตฌ๋งคํ ๋ก๋๋ก ๋ฒ ๋์ ๋ฐํ์ผ๋ก ์ด ์์ต๋ฅ ์ ๊ณ์ฐํ๋ ํจ์. benefit์ price๋ก ๋๋์ด ๊ณ์ฐํ ๊ฐ์ benefitRate์ ์ ์ฅํฉ๋๋ค. -public int checkMoney(int rank) : ๋ฑ์๋ณ ์๊ธ์ ๋ฐํํ๋ ํจ์. -public int getBenefit(), public double getBenefitRate(), public int[] getLottoRank() : ํด๋น ๋ฉค๋ฒ๋ณ์์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
#CheckError ํด๋์ค ์ฌ์ฉ์ ์ ๋ ฅ ๊ณผ์ ์์ ๋ฐ์ํ๋ ์์ธ๋ฅผ ํ์ธํ๊ธฐ ์ํ ํด๋์ค ์ ๋๋ค.
-public CheckError() : ๊ธฐ๋ณธ์์ฑ์.
-public boolean chk_Str(String str) : str์ ๊ฐ์ด ์ ์์ ๋งค์นญ๋์ง ์์ผ๋ฉด ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ณ true๋ฅผ ๋ฐํ, ๋งค์นญ๋๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
-public boolean chk_Neg(int val) : val์ ๊ฐ์ด 0 ๋๋ ์์์ด๋ฉด ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ณ true๋ฅผ ๋ฐํ, 0 ๋๋ ์์๊ฐ ์๋๋ฉด true๋ฅผ ๋ฐํํฉ๋๋ค.
-public boolean chk_Mod(int price) : price์ ๊ฐ์ด 1000์ผ๋ก ๋๋ ๋จ์ด์ง์ง ์์ผ๋ฉด ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ณ true๋ฅผ ๋ฐํ, 1000์ผ๋ก ๋๋ ๋จ์ด์ง๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
-public boolean chk_Count(String[] str) : str์ ๊ธธ์ด๊ฐ 6์ด ์๋๋ฉด ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ณ true๋ฅผ ๋ฐํ, 6์ด๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
-public boolean chk_Range(int val) : val์ ๋ฒ์๊ฐ 145๊ฐ ์๋๋ฉด ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ณ true๋ฅผ ๋ฐํ, 145์ด๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
-public boolean chk_Duplication(String[] val) : val์ ์์์ ์ค๋ณต๋๋ ๊ฐ์ด ์์ผ๋ฉด ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ณ true๋ฅผ ๋ฐํ, ์์ผ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
-public boolean chk_Input(String[] str) : str์ ์์์ ๋ฌธ์๊ฐ ์์ผ๋ฉด ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ณ true๋ฅผ ๋ฐํ, ์์ผ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
-public boolean chk_BonusDuplication(List numbers, int bonus) : ๋ณด๋์ค๋ฒํธ๊ฐ ๋น์ฒจ๋ฒํธ์ ์ซ์์ ๊ฒน์น๋ฉด ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ณ true๋ฅผ ๋ฐํ, ๊ฒน์น์ง ์์ผ๋ฉด ๋๋ ๋จ์ด์ง๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
#LottoError ํด๋์ค CheckError ํด๋์ค์์ ์ฒ๋ฆฌํ๋ ์์ธ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ENUM ํด๋์ค์ ๋๋ค.
#Game ํด๋์ค InputInfo, BuyLotto, CalculateBenefit ํด๋์ค๋ฅผ ์ด์ฉํ์ฌ ๋ก๋ ๊ฒ์์ ์ฒ๋ฆฌํ๋ ํด๋์ค
-public Game() : ๊ธฐ๋ณธ ์์ฑ์. ์์ 3๊ฐ์ง ํด๋์ค๋ฅผ ์์ฐจ์ ์ผ๋ก settingํ์ฌ ๋ก๋ ๊ฒ์์ ์ฒ๋ฆฌํฉ๋๋ค. -public void printResult() : ๋ก๋ ๊ฒ์์ ๋น์ฒจ ํต๊ณ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.