📚 구현 기능 목록
📌 문자열 입력 받기 기능
- “덧셈할 문자열을 입력해 주세요.” 출력
- 문자열 입력받기
📌커스텀 구분자 지정 판별 기능
- 맨 처음 문자열에 “//”가 있고, “\n”이 포함 되어있는지 여부로 커스텀 구분자 지정인지 아닌지 판별
- startsWith 메서드로 첫 문자열이 "//" 인지 확인
- contain() 메서드로 "\n" 포함 확인
🚫 예외 처리
- “//" 또는 "\n" 둘 중 하나만 문자열에 포함 되어있을 경우
IllegaArgumentException
📌 커스텀 구분자 추출 기능
- “//” 와 “\n” 사이의 커스텀 구분자 문자 추출 후 반환
- Pattern 클래스의 compile() 메서드로 정규식 "//" + "(.*?)" + "\\n" 문자열 검증 패턴 적용
- Matcher 클래스의 matcher() 메서드로 해당 정규식에 해당되는 문자열 추출
🚫 예외 처리
- “//” 와 “\n” 사이의 커스텀 구분자가
문자열
이라면IllegaArgumentException
- “//” 와 “\n” 사이의 커스텀 구분자가
숫자
라면IllegaArgumentException
📌 구분자들을 기준으로 연산 할 문자열 분리 해주는 기능
- 기본 구분자 + 커스텀 구분자가 들어있는 모든 구분자를 기준으로 연산 될 문자열들을 분리해준다.
- String 클래스의 join 메서드로 구분자 리스트 안에 있는 구분자들을 "|" 문자로 연결해 구분 패턴 생성
- split 메서드에 구분 패턴을 적용해 구분자들을 기준으로 연산 할 문자열 분리 후 반환
📌 분리 된 문자열들 더해주고 출력해주는 기능
- 분리 된 문자열들 정수로 변환해서 더해준다.
- 분리된 문자열이 빈 문자열("")일 경우, 0을 더해준다.
- 결과 값 반환
🚫 예외 처리
- matches() 메서드와 "[1-9]\d*" 정규식으로 검증해 인덱스 값이 문자열이 양수가 아니라면
IllegaArgumentException