forked from woowacourse-precourse/java-calculator-7
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCalculatorService.java
More file actions
40 lines (34 loc) · 1.26 KB
/
CalculatorService.java
File metadata and controls
40 lines (34 loc) · 1.26 KB
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
36
37
38
39
40
package calculator.service;
import calculator.dto.CheckSeparatorDto;
import calculator.service.separator.Separator;
import calculator.service.validator.Validator;
public class CalculatorService {
private final Validator validator = new Validator();
private final Separator separator = new Separator();
/**
* 덧셈 로직을 순차적으로 진행한다.
*/
public int add(String inputString) {
CheckSeparatorDto checkSeparatorDto = new CheckSeparatorDto();
checkSeparatorDto.setInputString(inputString);
separator.checkCustomSeparator(checkSeparatorDto);
String[] separatedString = separator.separate(checkSeparatorDto);
validator.hasNaN(separatedString);
return sumSeparatedStringArr(separatedString);
}
/**
* 문자열을 int 형으로 바꾼 뒤 합한다.
*
* @param separatedStringArr 숫자로만 이루어진 문자열 배열을 입력한다.
* @return 합한다.
*/
private int sumSeparatedStringArr(String[] separatedStringArr) {
int sum = 0;
for (String separatedString : separatedStringArr) {
if (!separatedString.isEmpty()) {
sum += Integer.parseInt(separatedString);
}
}
return sum;
}
}