- 양의 정수(0 포함)를 입력받기
- 사칙연산 기호(➕,➖,✖️,➗)를 입력받기
- 위에서 입력받은 양의 정수 2개와 사칙연산 기호를 사용하여 연산을 진행한 후 결과값을 출력하기
- 키워드: if, swich
- 연산 오류가 발생할 경우 해당 오류에 대한 내용을 정제하여 출력.
- 반복문을 사용하되, 반복의 종료를 알려주는 “exit” 문자열을 입력하기 전까지 무한으로 계산을 진행할 수 있도록 소스 코드를 수정하기
- 키워드: 무한 반복, 수정(처음부터가 아닌 스텝별로 진행하며 수정)
- 반복문: for, which
- 사칙연산을 수행 후, 결과값 반환 메서드 구현 & 연산 결과를 저장하는 컬렉션 타입 필드를 가진 Calculator 클래스를 생성.
- calculatorLeve1에서 구현한 App 클래스의 main 메서드에 Calculator 클래스가 활용될 수 있도록 수정
- App 클래스의 main 메서드에서 Calculator 클래스의 연산 결과를 저장하고 있는 컬렉션 필드에 직접 접근하지 못하도록 수정
- 키워드: 캡슐화
- Calculator 클래스에 저장된 연산 결과들 중 가장 먼저 저장된 데이터를 삭제하는 기능을 가진 메서드를 구현한 후 App 클래스의 main 메서드에 삭제 메서드가 활용될 수 있도록 수정
- 키워드: 컬렉션, "값을 넣고 제거하는 방법을 이해한다"
- Enum 타입을 활용하여 연산자를 관리하고 이를 사칙연산 계산기 ArithmeticCalculator 클래스에 활용
- 실수, 즉 double 타입의 값을 전달 받아도 연산이 수행하도록 만들기
- 키워드: 제네릭, 피연산자를 여러 타입으로 받을 수 있도록 기능을 확장
- 저장된 연산 결과들 중 Scanner로 입력받은 값보다 큰 결과값 들을 출력
- ArithmeticCalculator 클래스에 위 요구사항을 만족하는 조회 메서드를 구현
- 해당 메서드를 구현할 때 Lambda & Stream을 활용
- 키워드: 람다, 스트림
calculatorLevel1의 경우 Calculator.java만을 보면 되며, calculatorLevel3에서 OperatorTypeEx의 경우 util의 BiFuntion을 시도 해보려 했던것이니 실 사용은 OperatorType이다.