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 1
1
package model ;
2
2
3
+ import java .util .Collections ;
3
4
import java .util .List ;
4
5
5
6
public class Lotto {
@@ -15,7 +16,7 @@ public Lotto(List<Integer> numbers) {
15
16
throw new IllegalArgumentException ("로또 번호 목록이 비어 있거나 null 입니다." );
16
17
}
17
18
validateNumbers (numbers );
18
- this .numbers = numbers ; // numbers를 초기화
19
+ this .numbers = Collections . unmodifiableList ( numbers );
19
20
}
20
21
21
22
private void validateNumbers (List <Integer > numbers ) {
Original file line number Diff line number Diff line change 1
1
package model ;
2
2
3
3
import java .util .ArrayList ;
4
+ import java .util .Collections ;
4
5
import java .util .List ;
5
6
6
7
public class LottoTicketMachine {
7
8
8
- private static final int LOTTO_TICKET_PRICE = 1000 ;
9
+ private static final int LOTTO_TICKET_PRICE = 1_000 ;
9
10
private final int ticketCount ;
10
11
private final LottoGenerator lottoGenerator ;
11
12
private final List <Lotto > lottery = new ArrayList <>();
@@ -20,7 +21,7 @@ public List<Lotto> generateLottery() {
20
21
lottery .add (lottoGenerator .generateLottoNumbers ());
21
22
}
22
23
23
- return lottery ;
24
+ return Collections . unmodifiableList ( lottery ) ;
24
25
}
25
26
26
27
public int getTicketCount () {
Original file line number Diff line number Diff line change 5
5
6
6
public class InputView {
7
7
8
- public int getPurchaseAmount () {
8
+ public int getPurchaseAmount (){
9
9
try (Scanner scanner = new Scanner (System .in )) {
10
10
System .out .println ("구입금액을 입력해 주세요." );
11
11
int purchaseAmount = scanner .nextInt ();
12
- validatePositive (purchaseAmount );
12
+ validatePurchaseAmount (purchaseAmount );
13
13
14
14
return purchaseAmount ;
15
15
} catch (InputMismatchException e ) {
@@ -19,9 +19,20 @@ public int getPurchaseAmount() {
19
19
}
20
20
}
21
21
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 ){
24
29
throw new IllegalArgumentException ("양수가 아닌 음수가 입력되어 예외가 발생되었습니다." );
25
30
}
26
31
}
32
+
33
+ private void validateMinimumPrice (int number ){
34
+ if (number < 1000 ){
35
+ throw new IllegalArgumentException ("로또의 최소 구입금액은 1000원 입니다." );
36
+ }
37
+ }
27
38
}
You can’t perform that action at this time.
0 commit comments