Skip to content

dhyepark/java-calculator-8

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

개요

✅ 입력한 문자열에서 숫자를 추출하여 더하는 계산기를 구현한다.


기능 목록

  1. 문자열 입력받기
    • 입력은 구분자와 양수로 구성된 문자열이며, 0과 음수는 허용되지 않는다.
    • 기본 구분자로 쉼표(,)와 콜론(:)을 사용한다.
    • 기본 구분자 외에 커스텀 구분자를 지정할 수 있고, 문자열 앞부분의 "//""\\n" 사이의 문자를 커스텀 구분자로 사용한다.
  2. 문자열에서 숫자 추출하기
    • 구분자를 기준으로 숫자를 분리한다.
  3. 숫자 검증하기
    • 분리된 숫자는 자연수만 허용한다. (0과 음수인 경우 예외 발생)
  4. 추출한 숫자 더해서 합 구하기
    • 분리된 숫자의 합을 계산한다.
    • 빈 문자열인 경우, 0을 반환한다.
  5. 결과 출력하기
    • 출력 형식 ⇒ 결과 : 합

실행 결과 예시

덧셈할 문자열을 입력해 주세요.
1,2:3
결과 : 6

예외 처리

  • 사용자가 잘못된 값을 입력한 경우 IllegalArgumentException 발생
    • 음수나 0을 입력한 경우
    • 커스텀 문자열이 "//""\\n” 사이에 오지 않는 경우 (예: "//\\n1;2;3", "//;1;2;3", "1//;\\n2;3" 등)
    • 구분자가 연속으로 나오는 경우 (예: "1,,2")
    • 문자열 끝에 구분자가 나오는 경우 (예: "1,2,")
    • 숫자 외의 문자를 입력한 경우 (예: "1, a, b")

테스트

  • 정상 동작

    • 쉼표로 구분된 문자열의 합을 반환한다.
    • 콜론으로 구분된 문자열의 합을 반환한다.
    • 구분자로 쉼표와 콜론이 혼합되어도 정상 동작한다.
    • 커스텀 구분자 지정 시에도 정상 동작한다.
    • 입력이 빈 문자열인 경우, 0을 반환한다.
    • 구분자 없이 숫자 하나인 경우, 문자열을 그대로 반환한다.
  • 경계

    • 입력 문자열 앞뒤에 공백이 있어도 올바르게 동작한다.
    • 0을 포함하지 않고, 자연수만 허용한다.
  • 예외

    • 음수나 0을 입력한 경우 IllegalArgumentException 이 발생한다.
    • 커스텀 문자열이 "//"와 "\n” 사이에 오지 않는 경우 IllegalArgumentException 이 발생한다.
    • 구분자가 연속으로 나오는 경우 IllegalArgumentException 이 발생한다.
    • 문자열 끝에 구분자가 나오는 경우 IllegalArgumentException 이 발생한다.
    • 숫자 외의 문자를 입력한 경우 IllegalArgumentException 이 발생한다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%