Skip to content

Repository files navigation

사칙연산 계산기

프로젝트 소개

사칙연산 계산기는 사용자로부터 두 숫자와 연산자를 입력받아 덧셈, 뺄셈, 곱셈, 나눗셈을 수행하는 콘솔 애플리케이션입니다.
결과를 저장하고 조회하거나, 오래된 결과를 삭제할 수 있는 기능을 제공합니다.
이 프로젝트는 제네릭Enum을 활용하여 다양한 숫자 타입과 연산자를 효과적으로 처리하는 데 중점을 두었습니다.


주요 기능

  • 사칙연산 수행
    사용자 입력값에 따라 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)을 수행합니다.
  • 연산 결과 저장
    연산 결과를 저장하여 필요 시 조회할 수 있습니다.
  • 결과 조회
    가장 최근에 저장된 연산 결과를 확인합니다.
  • 오래된 결과 삭제
    저장된 결과 중 가장 오래된 데이터를 삭제합니다.
  • 프로그램 반복 실행
    계산을 계속하거나 종료할 수 있는 옵션을 제공합니다.

사용 방법

  1. 프로그램 실행 후 첫 번째 숫자와 두 번째 숫자를 입력합니다.
  2. 사칙연산 기호(+, -, *, /)를 입력합니다.
  3. 연산 결과가 출력됩니다.
  4. 결과를 저장하거나 조회, 삭제 여부를 선택합니다.
  5. 프로그램을 반복 실행하거나 종료합니다.

코드 구조

1. App 클래스

사용자 입력 처리 및 프로그램 흐름 제어
주요 메서드:

  • main: 사용자 입력을 받아 연산을 수행하고 결과를 처리합니다.

2. Calculator2 클래스

연산 로직과 데이터 저장 관리
주요 구성:

  • Operator Enum: 사칙연산 기호 관리 및 변환
  • 제네릭 메서드 calculate: 다양한 숫자 타입을 처리
  • 리스트 관리 메서드: 결과 저장(setList), 조회(getList), 삭제(removeResult)

기술적 특징

1. 제네릭 사용

  • T extends Number를 사용하여 다양한 숫자 타입(Integer, Double 등)을 처리합니다.
  • 연산 결과를 입력 타입에 맞게 반환하도록 구현했습니다.

2. Enum으로 연산자 관리

  • 문자열로 입력받은 연산자를 Enum 타입으로 변환합니다.
  • 새로운 연산자를 쉽게 추가할 수 있도록 확장 가능하게 설계되었습니다.

예외 처리

  1. 잘못된 입력: 숫자 대신 문자를 입력했을 경우 오류 메시지를 출력하고 재입력을 요청합니다.
  2. 유효하지 않은 연산자: 정의되지 않은 연산자를 입력했을 경우 "유효하지 않은 연산자" 메시지를 출력합니다.
  3. 0으로 나누기: 나눗셈에서 0으로 나누려는 경우 "연산 오류" 메시지를 출력합니다.

실행 예제

첫 번째 숫자를 입력하세요: 10
두 번째 숫자를 입력하세요: 5
사칙연산 기호(+, -, *, /)를 입력하세요: +
연산 결과: 15.0
방금 연산 결과를 저장하시겠습니까? (yes 입력 시 추가): yes
방금 연산의 결과를 조회하시겠습니까? (yes 입력 시 조회): yes
최근 저장된 결과: 15.0
가장 오래된 연산 결과를 삭제하시겠습니까? (yes 입력 시 삭제): no
더 계산하시겠습니까? (exit 입력 시 종료): exit

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages