이 프로젝트는 사용자가 입력한 문자열에서 숫자를 추출해 합산하는 계산기입니다. 문자열 내에서 여러 구분자를 사용하여 숫자를 구분할 수 있으며, 커스텀 구분자도 지정할 수 있습니다. 잘못된 입력이 발생할 경우,
IllegalArgumentException
예외를 발생시키고 프로그램을 종료합니다.
- 입력 : 사용자로부터 문자열을 입력받는다.
- 반환 : 입력된 문자열 (
String
)- 기능 : 사용자가 입력한 덧셈할 문자열을 받아 반환한다. 입력은
camp.nextstep.edu.missionutils.Console
의readLine()
메서드를 사용하여 처리한다.
- 입력 : 문자열 (예 :
"//;\n1;2;3"
또는"1,2:3"
)- 반환 : 구분자 문자열
- 기능 : 입력된 문자열을 분석하여 기본 구분자(쉼표
,
, 콜론:
) 또는 커스텀 구분자를 판별하고, 사용할 구분자를 결정한다.
- 입력 : 문자열 (예:
"//;\n1;2;3"
또는"1,2:3"
)- 반환 : 문자열 배열
- 기능 : 구분자 판별 기능의 결과를 사용하여 입력된 문자열을 기본 구분자(쉼표
,
, 콜론:
) 또는 커스텀 구분자를 사용해 분리한 후, 각 숫자 문자열로 구성된 리스트를 반환한다.
- 입력 : 구분자 처리 기능을 통해 분리된 문자열 배열 (예:
["1", "2", "3"]
)- 반환 : 정수 리스트 (
List<Long>
)- 기능 : 문자열 배열을 순회하며 각 요소를 정수로 변환하고, 이를 정수 리스트로 반환한다.
- 입력 : 구분자 처리 기능을 통해 반환된 문자열 배열
- 반환 : 문자열 배열에 숫자가 아닌 문자가 포함된 경우 예외 발생(
IllegalArgumentException
)- 기능 : 문자열 배열을 순회하며 숫자 외의 문자가 포함되어 있는지 확인한다. 요구사항에서 양수로 구성된 문자열만 허용하므로, 음수 기호를 포함하여 숫자가 아닌 문자가 포함된 경우
IllegalArgumentException
을 발생시킨다.
- 입력 : 사용자로부터 입력된 문자열 (
String
)- 반환 : 입력된 문자열이 비어 있는 경우
0
을 반환한다.- 기능 : 입력된 문자열이 빈 문자열인지 확인하고 빈 문자열일 경우
0
을 반환한다.
- 입력 : 문자열 (
String
)- 반환 : boolean
- 기능 : 입력된 문자열을 숫자로 변환할 수 있으면
true
를 반환하고, 그렇지 않으면false
를 반환한다.
- 입력 : 정수 리스트
- 반환 : 합산 결과 (
double
)- 기능 : 입력된 정수 리스트의 각 요소를 순회하며 각 정수를 더하여 총합을 계산하여 반환한다.
- 입력 : 합산 결과 (
double
)- 반환 : 문자열 (
String
)- 기능 : 계산 기능을 통해 합산된 결과를 포맷팅하여 문자열로 반환한다.
- 입력 : 계산 결과 (
long
)- 반환 : 없음 (결과를 콘솔에 출력)
- 기능 : 계산된 덧셈 결과를 콘솔에 출력하여 사용자에게 보여준다. 문제의 요구사항에 맞게 덧셈 결과를 명확하게 출력한다.