-
Notifications
You must be signed in to change notification settings - Fork 74
Expand file tree
/
Copy pathCardNumber.java
More file actions
35 lines (26 loc) · 861 Bytes
/
CardNumber.java
File metadata and controls
35 lines (26 loc) · 861 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package blackJack.domain;
public class CardNumber {
private static final String JQK_REGEX = "[JQK]";
private static final int JQK_SCORE = 10;
private static final int ACE_SCORE = 1;
private final TrumpNumber trumpNumber;
private CardNumber(String cardNumber) {
this.trumpNumber = TrumpNumber.from(cardNumber);
}
public static CardNumber from(String cardNumber) {
return new CardNumber(cardNumber);
}
public String getNumber() {
return trumpNumber.getTrumpNumber();
}
public int calculateScore() {
String number = trumpNumber.getTrumpNumber();
if (number.matches(JQK_REGEX)) {
return JQK_SCORE;
}
if (number.equals(TrumpNumber.ACE.getTrumpNumber())) {
return ACE_SCORE;
}
return Integer.parseInt(number);
}
}