-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathBaseball.java
More file actions
28 lines (24 loc) · 798 Bytes
/
Baseball.java
File metadata and controls
28 lines (24 loc) · 798 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
package baseball.model;
import baseball.utils.ErrorMessages;
import java.util.List;
public class Baseball {
private final List<Integer> numbers;
public Baseball(List<Integer> numbers) {
validateRange(numbers);
validateNumberRange(numbers);
this.numbers = numbers;
}
private void validateRange(List<Integer> numbers) {
if (numbers.size() != 3) {
throw new IllegalArgumentException(ErrorMessages.INVALID_INPUT_COUNT);
}
}
private void validateNumberRange(List<Integer> numbers) {
if (numbers.stream().anyMatch(num -> num < 1 || num > 9)) {
throw new IllegalArgumentException(ErrorMessages.INVALID_NUMBER_RANGE);
}
}
public List<Integer> getNumbers() {
return numbers;
}
}