Skip to content

Latest commit

 

History

History
42 lines (28 loc) · 1.71 KB

README.md

File metadata and controls

42 lines (28 loc) · 1.71 KB

SpartaProject01

프로젝트 설명

1) Lv1 Project

Calculator01.java

  • 사칙연산(+ - * /)과 나머지(%), 제곱(^) 연산 구현
  • 정규표현식을 이용해 0을 포함한 양의 정수만 피연산자로 받도록 함
  • /나 %연산 시 0으로 나눌 수 없도록 조건문 작성
  • 피연산자와 연산자가 잘못 작성되어도 error가 뜨거나 계속 연산을 진행하지 않고, 다시 반복문으로 돌아가도록 구현
  • exit를 입력시 반복이 끝나도록 함

2) Lv2 Project

Calculator02.java

App02.java

  • getter, setter로 접근을 제어함
  • 연산 로그(피연산자(2), 연산자, 연산결과)를 저장하는 컬렉션 구현(이차원 ArrayList)
  • 연산이 정상적으로 끝나면 switch를 이용해 원하는 기능을 수행하도록 함
  • 로그 전체 삭제 메서드 추가
  • 입력받은 번호의 로그를 삭제하는 메서드 추가, 숫자가 아니거나 로그 내의 번호와 일치하지 않는 경우 다시 반복문으로 돌아감
  • 로그를 더하고, 수행한 연산을 모두 보여주는 메서드 추가

3) Lv3 Project

ArithmeticCalculator.java

App03.java

  • 연산자를 enum 타입으로 변경
  • 피연산자를 실수와 음수도 받을 수 있도록 정규표현식 변경, 타입 제네릭으로 변경
  • 제네릭을 사용했으므로, 연산 메서드의 결과 값이 double로 나올 때, int로 나올 때를 다르게 조건을 부여함
  • 제곱은 실수를 사용할 수 없다는 조건문 추가
  • 자신이 입력한 값보다 큰 값을 도출한 로그만을 검색하는 case search 추가
  • 위의 기능을 수행할 메서드를 람다와 stream을 이용해 구현
  • 정수의 크기가 클 때 예외 처리 입력