사칙연산 계산기는 사용자로부터 두 숫자와 연산자를 입력받아 덧셈, 뺄셈, 곱셈, 나눗셈을 수행하는 콘솔 애플리케이션입니다.
결과를 저장하고 조회하거나, 오래된 결과를 삭제할 수 있는 기능을 제공합니다.
이 프로젝트는 제네릭과 Enum을 활용하여 다양한 숫자 타입과 연산자를 효과적으로 처리하는 데 중점을 두었습니다.
- 사칙연산 수행
사용자 입력값에 따라 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)을 수행합니다. - 연산 결과 저장
연산 결과를 저장하여 필요 시 조회할 수 있습니다. - 결과 조회
가장 최근에 저장된 연산 결과를 확인합니다. - 오래된 결과 삭제
저장된 결과 중 가장 오래된 데이터를 삭제합니다. - 프로그램 반복 실행
계산을 계속하거나 종료할 수 있는 옵션을 제공합니다.
- 프로그램 실행 후 첫 번째 숫자와 두 번째 숫자를 입력합니다.
- 사칙연산 기호(+, -, *, /)를 입력합니다.
- 연산 결과가 출력됩니다.
- 결과를 저장하거나 조회, 삭제 여부를 선택합니다.
- 프로그램을 반복 실행하거나 종료합니다.
사용자 입력 처리 및 프로그램 흐름 제어
주요 메서드:
main: 사용자 입력을 받아 연산을 수행하고 결과를 처리합니다.
연산 로직과 데이터 저장 관리
주요 구성:
OperatorEnum: 사칙연산 기호 관리 및 변환- 제네릭 메서드
calculate: 다양한 숫자 타입을 처리 - 리스트 관리 메서드: 결과 저장(
setList), 조회(getList), 삭제(removeResult)
T extends Number를 사용하여 다양한 숫자 타입(Integer,Double등)을 처리합니다.- 연산 결과를 입력 타입에 맞게 반환하도록 구현했습니다.
- 문자열로 입력받은 연산자를
Enum타입으로 변환합니다. - 새로운 연산자를 쉽게 추가할 수 있도록 확장 가능하게 설계되었습니다.
- 잘못된 입력: 숫자 대신 문자를 입력했을 경우 오류 메시지를 출력하고 재입력을 요청합니다.
- 유효하지 않은 연산자: 정의되지 않은 연산자를 입력했을 경우 "유효하지 않은 연산자" 메시지를 출력합니다.
- 0으로 나누기: 나눗셈에서 0으로 나누려는 경우 "연산 오류" 메시지를 출력합니다.
첫 번째 숫자를 입력하세요: 10
두 번째 숫자를 입력하세요: 5
사칙연산 기호(+, -, *, /)를 입력하세요: +
연산 결과: 15.0
방금 연산 결과를 저장하시겠습니까? (yes 입력 시 추가): yes
방금 연산의 결과를 조회하시겠습니까? (yes 입력 시 조회): yes
최근 저장된 결과: 15.0
가장 오래된 연산 결과를 삭제하시겠습니까? (yes 입력 시 삭제): no
더 계산하시겠습니까? (exit 입력 시 종료): exit