Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

CalculatorLV1

기본 사칙연산을 수행하며, 연속된 연산 입력으로 누적연산 출력이 가능하고 연산 중 종료 할 수 있도록 만들었습니다.

연산 진행은, 처음 숫자 입력(try catch를 통해 예외처리) => 연산 기호 입력('exit' 입력 시 종료 / '+' '-' '*' '/'일때 입력 문자열을 문자형으로 변환 /try catch로 예외처리 / while로 반복) => 다음 숫자 입력('exit' 입력 시 종료 / 입력된 연산기호에 맞게 switch 조건문과 대입연산자를 이용하여 연산하고 처음 숫자가 들어있는 변수에 누적, 나누기의 경우 분모가 0인경우를 if조건문으로 따로 추가해서 "0 이외에 다른 수를 다시 입력하세요"로 전달 / try catch로 예외처리 ) => 연산 기호 입력부터 반복됩니다.

CalculatorLV2

LV1의 연산하는 기능과 조회(게터), 수정(세터), 제거(리무버)의 기능을 담당하고 연산 결과를 저장하는 컬렉션 타입 필드를 가진'Calculator 클래스'를 생성하여 LV1에 접목시켰습니다.

Main class 설명

처음 숫자를 입력하는 초기화면에서 계산기를 종료할 수 있도록 while반복을 처음 입력에도 두어, 연산 중 break;하여도 계산기가 종료하지 않도록 수정하였습니다. 연산 정보 입력 중에 연산 결과를 조회, 수정, 제거 할 수 있습니다. 연산 기호 입력 시 'clear'입력을 통해 초기화하여 초기화면으로 돌아갈 수 있습니다. 다음 숫자 입력 시 'back'을 입력하여 연산기호 입력 화면으로 돌아갈 수 있습니다.

Calculator class 설명

List 인터페이스를 구현화하는 ArrayList class를 인스턴스화 하여 연산 결과를 저장하는 컬렉션 타입 필드를 생성하였고 private로 캡슐화 하였습니다.

기존 연산은 switch 조건문으로 이루어져있는데, 이는 return값을 반환하지 못하기 때문에, if, else if, else 조건문으로 수정하였고, 초기화 즉, 처음 연산 경우에는 if 조건문과 List의 isEmpty 기능을 사용하여 컬렉션 필드에 데이터가 저장 되있지 않을 경우 처음(혹은 초기화 후) 입력된 숫자와 다음 숫자를 연산하게 하고, else의 경우 가장 마지막 저장되어 있는 데이터와 다음 숫자를 연산하도록 설정하였으며 나누기에서 분모가 0인 경우는 throw와 throws를 통해 Main 클래스에서 예외 처리를 하도록 유도하였습니다.

조회, 수정, 제거 기능은 각각 필요한 인덱스 정보를 입력하고(수정의 경우 수정 값 입력을 추가), 각각의 결과를 출력해주는 void형식으로 생성하였습니다.

초기화를 위해, 결과리스트의 모든 요소를 지워주는 .clear기능을 사용하였고 default로 캡슐화 하였습니다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors