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
'JAVA > 자바 실습 중심 학습' 카테고리의 다른 글
| 배열을 활용한 성적 관리 프로그램 (0) | 2025.04.12 |
|---|---|
| 사용자 입력 처리 (Scanner 사용법) (1) | 2025.04.11 |
| 랜덤 숫자 생성기 (로또) (0) | 2025.04.11 |
| 구구단 출력기 (0) | 2025.04.11 |