JAVA/자바 실습 중심 학습
간단한 사칙연산 계산기 만들기
DEVLIB
2025. 4. 11. 14:43
728x90
목표: 사용자로부터 두 숫자와 연산기호를 입력받아 결과 출력
전체 코드 예제
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("첫 번째 숫자를 입력하세요: ");
double num1 = sc.nextDouble();
System.out.print("연산자 (+, -, *, /): ");
String operator = sc.next();
System.out.print("두 번째 숫자를 입력하세요: ");
double num2 = sc.nextDouble();
double result = 0;
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if (num2 != 0) {
result = num1 / num2;
} else {
System.out.println("0으로 나눌 수 없습니다.");
return;
}
break;
default:
System.out.println("잘못된 연산자입니다.");
return;
}
System.out.println("결과: " + result);
}
}
코드 설명
코드 | 설명 |
Scanner sc = new Scanner(System.in); | 사용자 입력 받기 위한 준비 |
nextDouble() | 실수 입력 받기 |
next() | 문자열(연산자) 입력 받기 |
switch | 입력된 연산자에 따라 실행할 코드 분기 |
break | 각 연산 후 switch문 종료 |
return | 오류 발생 시 프로그램 강제 종료 |
실행 예시
첫 번째 숫자를 입력하세요: 10
연산자 (+, -, *, /): *
두 번째 숫자를 입력하세요: 5
결과: 50.0
확장 아이디어
- while 문으로 계속 계산할 수 있게 만들기
- 연산자 대신 숫자 코드 선택 (1: 덧셈, 2: 뺄셈 등)
- 결과 소수점 자리 제한 (System.out.printf("%.2f", result);)
- 예외 처리 추가 (try-catch)
마무리 요약
개념 | 실습에서 배운 것 |
입력 처리 | Scanner |
조건 분기 | switch, if |
연산자 | +, -, *, / |
예외 처리 | 나눗셈에서 0 나누기 방지 |
LIST