Skip to content

Latest commit

ย 

History

History
57 lines (45 loc) ยท 6.32 KB

File metadata and controls

57 lines (45 loc) ยท 6.32 KB

#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() : ๋กœ๋˜ ๊ฒŒ์ž„์˜ ๋‹น์ฒจ ํ†ต๊ณ„๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.