① 산술 연산자 (+, -, *, /, %) 중 하나와 두 개의 피연산자를 입력하여 수식과 답을 출력하는 프로그램을 작성하라. 각 산술 연산자를 if문을 이용하여 구분하라. 만약 산술 연산자가 잘못 입력된 경우에는 오류메시지를 출력하고 프로그램이 종료된다. 프로그램은 사용자에게 입력연산자와 피연산자의 입력을 안내해 주어야 한다.
- 최소 3개 이상의 클래스를 구현하시오
sehongpark님의 답변
# 궁금하면 500원
tjrdnrns님의 답변
계좌 ㄱ
sehongpark님의 답변
# 답변
현웃 터져서, 외상으로 해드림 ㅅㄱ.
### 코드
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("프로그램을 시작합니다.");
new ArithmeticCalculator().run();
}
}
// 컨트롤러 클래스
class ArithmeticCalculator {
Scanner scanner = new Scanner(System.in);
public void run() {
// 산술 연산자 입력
System.out.print("산술 연산자(+, -, *, /, %) 입력하시오: ");
String operator = scanner.nextLine();
// 피 연산자 입력 받음
System.out.print("두 개의 피연산자 즉, 두 실수값을 순서대로 입력: ");
double first = Double.parseDouble(scanner.next());
double second = Double.parseDouble(scanner.nextLine());
// 데이터 만들고, 계산
UserInput input = new UserInput(operator, first, second);
input.calculate();
input.printResult();
}
}
// 데이터 클래스
class UserInput {
String op;
double a;
double b;
Double result;
public UserInput(String op, double a, double b) {
this.op = op;
this.a = a;
this.b = b;
this.result = null;
}
public void calculate() {
switch (op) {
case "+":
result = a + b;
break;
case "-":
result = a - b;
break;
case "*":
result = a * b;
break;
case "/":
result = a / b;
break;
case "%":
result = a % b;
break;
default:
System.out.println("잘못된 산술연산자 입력으로 프로그램이 종료됩니다..");
System.exit(1); // 0: 정상 종료, 1: 비정상 종료
break;
}
}
public void printResult() {
System.out.printf("%f %s %f = %f\n", a, op, b, result);
}
}
```
### 실행 결과
정상 입력
```
프로그램을 시작합니다.
산술 연산자(+, -, *, /, %) 입력하시오: *
두 개의 피연산자 즉, 두 실수값을 순서대로 입력: 3 4
3.000000 * 4.000000 = 12.000000
```
잘못된 입력
```
프로그램을 시작합니다.
산술 연산자(+, -, *, /, %) 입력하시오: $
두 개의 피연산자 즉, 두 실수값을 순서대로 입력: 2 5
잘못된 산술연산자 입력으로 프로그램이 종료됩니다..
```
tjrdnrns님의 답변
thank you I`M your subscriber