File tree Expand file tree Collapse file tree 3 files changed +20
-7
lines changed Expand file tree Collapse file tree 3 files changed +20
-7
lines changed Original file line number Diff line number Diff line change 11package model ;
22
3+ import java .util .Collections ;
34import java .util .List ;
45
56public class Lotto {
@@ -15,7 +16,7 @@ public Lotto(List<Integer> numbers) {
1516 throw new IllegalArgumentException ("로또 번호 목록이 비어 있거나 null 입니다." );
1617 }
1718 validateNumbers (numbers );
18- this .numbers = numbers ; // numbers를 초기화
19+ this .numbers = Collections . unmodifiableList ( numbers );
1920 }
2021
2122 private void validateNumbers (List <Integer > numbers ) {
Original file line number Diff line number Diff line change 11package model ;
22
33import java .util .ArrayList ;
4+ import java .util .Collections ;
45import java .util .List ;
56
67public class LottoTicketMachine {
78
8- private static final int LOTTO_TICKET_PRICE = 1000 ;
9+ private static final int LOTTO_TICKET_PRICE = 1_000 ;
910 private final int ticketCount ;
1011 private final LottoGenerator lottoGenerator ;
1112 private final List <Lotto > lottery = new ArrayList <>();
@@ -20,7 +21,7 @@ public List<Lotto> generateLottery() {
2021 lottery .add (lottoGenerator .generateLottoNumbers ());
2122 }
2223
23- return lottery ;
24+ return Collections . unmodifiableList ( lottery ) ;
2425 }
2526
2627 public int getTicketCount () {
Original file line number Diff line number Diff line change 55
66public class InputView {
77
8- public int getPurchaseAmount () {
8+ public int getPurchaseAmount (){
99 try (Scanner scanner = new Scanner (System .in )) {
1010 System .out .println ("구입금액을 입력해 주세요." );
1111 int purchaseAmount = scanner .nextInt ();
12- validatePositive (purchaseAmount );
12+ validatePurchaseAmount (purchaseAmount );
1313
1414 return purchaseAmount ;
1515 } catch (InputMismatchException e ) {
@@ -19,9 +19,20 @@ public int getPurchaseAmount() {
1919 }
2020 }
2121
22- private void validatePositive (int number ) {
23- if (number < 0 ) {
22+ private void validatePurchaseAmount (int number ){
23+ validatePositive (number );
24+ validateMinimumPrice (number );
25+ }
26+
27+ private void validatePositive (int number ){
28+ if (number < 0 ){
2429 throw new IllegalArgumentException ("양수가 아닌 음수가 입력되어 예외가 발생되었습니다." );
2530 }
2631 }
32+
33+ private void validateMinimumPrice (int number ){
34+ if (number < 1000 ){
35+ throw new IllegalArgumentException ("로또의 최소 구입금액은 1000원 입니다." );
36+ }
37+ }
2738}
You can’t perform that action at this time.
0 commit comments