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