Skip to content

easter1201/calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lv 1. 클래스 없이 기본적인 연산을 수행할 수 있는 계산기 만들기

v1.0.0

  1. Scanner 선언 후 정수 2개를 받도록 선언
  2. 정수 값이 int값의 범위를 벗어날 수 있어 long타입으로 선언
  3. 받은 정수를 각각 x, y 변수에 저장
  4. 정수 1개를 받은 후 연산자 입력 요청
  5. 연산자는 char 타입
  6. switch-case문을 사용해 입력된 연산자에 맞는 사칙연산 수행

v1.0.1

  1. 나눗셈 연산 시 분모가 0으로 입력될 경우 처리

v1.0.2

  1. exit 입력 전 무한 반복화
  2. 정상적인 숫자가 입력되지 않을 시의 예외처리

v1.0.3

  1. 입력이 음의 정수일 때 예외처리 추가

Lv 2. 클래스를 적용한 계산기

v2.0.0

  1. Calculator 클래스를 별도로 분리, 연산 기능은 Calculator로 이전

v2.0.1

  1. Calculator 클래스 내 기록 저장 위한 컬렉션 필드 생성

v2.0.2

  1. 컬렉션 필드 캡슐화
  2. Getter 구현 및 적용
  3. Setter 구현 및 적용
  4. 최근 기록값 1개 삭제 기능 구현
  5. 주석 추가

v2.0.2

  1. App 클래스 내에 Display 메소드를 생성
  2. Display 메소드에 연산 이후의 출력 및 분기 작업 이전

v2.0.3

  1. 기록 조회 및 삭제 시 예외처리
  2. 출력 메시지 가독성 위한 줄바꿈처리

v2.0.4

  1. 입력이 음의 정수일 때 예외처리 추가
  2. 기존 예외처리 문구 수정

Lv3. Enum, 제네릭, 람다 & 스트림을 사용한 계산기

v3.0.0

  1. Enum 사용해 연산자 타입 관리
  2. ArithmeticCalculator에서 해당 타입 사용

v3.0.1

  1. 입출력/연산 및 기록/연산자관리의 세 클래스로 분화

v3.0.2

  1. ArithmeticCalculator로 연산 로직 이동
  2. 제네릭 사용 -> 실수타입 입력 가능
  3. OperatorType 내 연산결과 반환하는 불필요 코드 제거

v3.0.3

  1. 컬렉션타입 변경(ArrayList -> Map)
  2. 변경 타입에 맞춰 기타 메소드 수정

v3.0.4

  1. 입력값보다 큰 결과물 출력 구현
  2. Lambda & Stream 사용

v3.0.5

  1. Map에 동일한 계산 기록 안되는 문제 -> 기록번호 붙여 구분해 저장
  2. OperatorType 사용 주체 App에서 ArithmeticCalculator로 변경
  3. 주석 추가

v3.0.6

  1. 출력 메시지 디자인 변경
  2. App 내 출력 메시지 코드 메소드화 -> 가독성 수정

v3.0.7

  1. 두 개 이상의 수를 한 번에 입력했을 때의 예외처리 추가
  2. 예외처리 위한 관련 코드 및 안내 문구 수정

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages