Skip to content

sunwon12/java-calculator-7

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-calculator-precourse

🧮 문자열 계산기 기능 요구사항

🖥️ 입출력 (InputView/OutputView)

  • 입력
    • 사용자로부터 입력 받기
  • 출력
    • 사용자로부터 입력 받기 전 입력 문구 출력
    • 계산 결과 출력

🔤 문자열 처리 (Separator & CustomSeparatorHandler)

  • 구분자 처리
    • 기본 구분자(쉼표, 콜론) 정의 및 식별
    • 커스텀 구분자 추출 및 처리
    • "//"와 "\n" 사이에 정의된 커스텀 구분자 추출 (extractCustomSeparator 메소드)
    • 문자열에서 커스텀 구분자 정의 제거 (removeCustomSeparatorDefinition 메소드)
    • 커스텀 구분자 형식 검증 (잘못된 형식 시 예외 처리)
    • 모든 구분자 목록 생성 (기본 + 커스텀)
  • 문자열 파싱
    • 구분자를 이용한 문자열 분할 (splitByAllSeparators 메소드)
    • 정규식 생성을 통한 복합 구분자 처리 (createSeparatorRegex 메소드)

🔢 숫자 처리 (Number & Numbers)

  • Numbers 객체 생성 및 합계 계산 (sumNumbers 메소드)
    • 문자열을 Number 객체로 변환 (from 메소드)
    • Number 객체 간 덧셈 연산 (add 메소드)
    • 숫자의 문자열 표현 (toString 메소드)
    • Number 객체의 동등성 비교 (equals 메소드)
    • Number 객체의 해시코드 생성 (hashCode 메소드)

🧮 계산 (Calculator)

  • 문자열을 입력받고 숫자들의 합계 계산 (sumNumbersFromString 메소드)
    • 입력 문자열 검증
      • 공백 문자 확인 (isBlank 메소드)
      • 빈 문자열 처리 (빈 입력 시 0 반환)

⚠️ 예외 처리

  • IllegalArgumentException 발생 및 처리
    • 유효하지 않은 숫자 형식에 대한 예외 처리("유효하지 않은 숫자 형식입니다: " + value)
    • 잘못된 커스텀 구분자 형식 처리("커스텀 구분자 형식이 올바르지 않습니다.")
    • 음수에 대한 예외 처리("음수는 허용되지 않습니다: " + value)

🚀 확장성

  • 새로운 구분자 추가 가능한 확장 가능한 구조
    • 여러 자리의 커스텀 구분자 입력 및 처리 가능
  • 다양한 숫자 형식 처리
    • 소수 처리 가능
  • 연산 확장
    • 덧셈 외에 다른 계산 기능 추가 시 구조 설계

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%