0615
문제
키보드로부터 연산자를 입력 받아 두 수에 대해 연산을 실행하는 프로그램을 switch문을 이용하여 작성하시오.
Ex)
수식 입력(수와 연산자 사이는 공백을 둘 것) : 3 * 6
3 * 6 = 18
소스
import java.util.Scanner;
public class SwitchOp {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.print("수식 입력(수와 연산자 사이는 공백을 둘 것) : ");
int num = sc.nextInt();
String op = sc.next();
int num2 = sc.nextInt();
switch(op) {
case "+" : System.out.println(num+" + "+num2+" = "+(num+num2)); break;
case "-" : System.out.println(num+" - "+num2+" = "+(num-num2)); break;
case "*" : System.out.println(num+" * "+num2+" = "+(num*num2)); break;
case "/" : System.out.println(num+" / "+num2+" = "+(num/num2)); break;
}
}
}
소스 풀이
- 수식을 입력할 때에 ' 피연산자1 연산자 피연산자2 ' 의 입력순서를 지켜야 합니다.
따라서 num > op > num2 순서대로 입력합니다.
- op의 값에 따라 case문장이 실행되도록 프로그래밍합니다.
- switch문에서 변수 op가 String타입이므로 case 뒤에는 " "를 꼭 기입해줍니다.
- 하나의 문장만 실행할 수 있도록 break; 를 써줍니다.
출력 결과
Ex) 4 / 4 를 입력했을 경우
수식 입력(수와 연산자 사이는 공백을 둘 것) : 4 / 4
4 / 4 = 1