🧮

계산기 만들기

 계산기 만들기

목표

하나의 클래스(Calculator)에서 모든 기능 구현
사용자 입력을 받아 사칙연산 수행
Scannerif/switch 문법 활용
콘솔 기반 입출력 처리

필수 구현 기능

1. 기본 사칙연산

지원할 연산: + (덧셈) - (뺄셈) * (곱셈) / (나눗셈)
Java
복사

2. 사용자 인터페이스

=== Java 계산기 === 첫 번째 숫자를 입력하세요: 10 연산자를 입력하세요 (+, -, *, /): + 두 번째 숫자를 입력하세요: 5 결과: 10.0 + 5.0 = 15.0 계속 계산하시겠습니까? (y/n): y
Java
복사

3. 필수 예외 처리

0으로 나누기 방지
잘못된 연산자 입력 처리
숫자가 아닌 입력 처리

구현 템플릿

import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("=== Java 계산기 ==="); System.out.println("계산기를 종료합니다."); scanner.close(); } }
Java
복사

구현 단계별 가이드

Step 1: 기본 구조 만들기

1.
Scanner 객체 생성
2.
while 무한 루프 구성
3.
숫자 2개와 연산자 입력받는 코드 작성

Step 2: 연산 로직 구현

아래와 같은 포맷팅으로 기능이 수행되도록 구현
첫 번째 숫자: 10 연산자: + 두 번째 숫자: 5 결과: 15.0 이전 결과(15.0)를 사용하시겠습니까? (y/n): y 연산자: * 숫자: 2 결과: 30.0
Java
복사

Step 3: 예외 처리 추가

try { // 입력 받는 코드 } catch (InputMismatchException e) { System.out.println("숫자를 입력해주세요."); scanner.nextLine(); // 잘못된 입력 제거 continue; }
Java
복사

Step 4: 결과 출력 및 반복 처리

결과를 보기 좋게 포맷팅
=== Java 계산기 === 첫 번째 숫자를 입력하세요: 10 연산자를 입력하세요 (+, -, *, /): + 두 번째 숫자를 입력하세요: 5 결과: 10.0 + 5.0 = 15.0 계속 계산하시겠습니까? (y/n): y
Java
복사
사용자가 계속할지 선택할 수 있도록 구현

Step 5: 연산 기록 보관

연산 결과를 보관할 자료구조를 선택하여 보관

Step 6: 추가 연산자

사칙연산에 아래와 같은 연산 기능 추가
% (나머지) ^ (거듭제곱) - Math.pow() 사용 sqrt (제곱근) - Math.sqrt() 사용
Java
복사

Step 7: 메뉴 관리

아래와 같은 포맷팅으로 메뉴를 선택하고 기능이 수행되도록 구현
=== 계산기 메뉴 === 1. 계산하기 2. 계산 이력 보기 3. 이력 지우기 0. 종료 선택:
Java
복사

체크리스트

필수 구현 사항

두 숫자와 연산자 입력받기
사칙연산 (+, -, *, /) 구현
0으로 나누기 예외 처리
잘못된 연산자 입력 처리
계속/종료 선택 기능
결과를 보기 좋게 출력

코드 품질

적절한 변수명 사용
주석으로 코드 설명
코드 컨벤션 준수
예외 상황 처리

사용자 경험

명확한 입력 안내 메시지 출력
오류 발생 시 친절한 안내 메세지 출력

테스트 케이스

정상 동작 테스트

입력: 10, +, 5 → 출력: 15.0 입력: 20, -, 8 → 출력: 12.0 입력: 6, *, 7 → 출력: 42.0 입력: 15, /, 3 → 출력: 5.0
Java
복사

예외 상황 테스트

입력: 10, /, 0"0으로 나눌 수 없습니다" 입력: 5, #, 3"지원하지 않는 연산자입니다" 입력: abc, +, 5"숫자를 입력해주세요"
Java
복사

GitHub 제출 가이드

1. calculator-project 에 있는 프로젝트 fork 받아주세요.

가이드

2. 본인 계정에 fork된 repository에서 clone 받아 local에 환경을 만들어주세요.

가이드

3. 새로운 branch 생성 후 해당 branch에서 요구사항에 맞게 구현해주세요.

가이드

4. 구현은 기능단위로 commit & push 해주세요.

가이드

5. 최종 제출 시에만 Pull Request하여 tutor-lth 저장소로 요청해주세요.

가이드

README.md 작성 예시

# Java 계산기 ## 프로젝트 설명 콘솔 기반의 간단한 계산기 프로그램입니다. ## 기능 - 사칙연산 (+, -, *, /) - 연속 계산 가능 - 예외 처리 ## 실행 방법 ```bash javac Calculator.java java Calculator
Markup
복사

커밋 메세지 작성 예시

feat: 기본 사칙연산 기능 구현 fix: 0으로 나누기 예외 처리 추가 docs: README.md 작성 refactor: 코드 구조 개선
Markup
복사