[Java] 클래스를 활용한 계산 예제
클래스를 활용한 계산 예제 입니다.
package J0429;
import java.util.Scanner;
public class J0429_1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num1,num2;
char op;
System.out.println("두 정수와 연산자를 입력하세요 : ");
num1 = scan.nextInt();
num2 = scan.nextInt();
op = scan.next().charAt(0); //연산자를 문자로 변환 scan변수가 받은 0번째 인덱스를 문자로 변환한다.
switch (op) {
case '+' :
Add add = new Add();
add.setvalue(num1, num2);//Add 클래스로 변수값을 넘기는 과정(캡슐화 되어있음)
System.out.println(add.cal());
break;
case '-' :
Sub sub = new Sub();//Sub 클래스로 변수값을 넘기는 과정(캡슐화 되어있음)
sub.setvalue(num1, num2);
System.out.println(sub.cal());
break;
case '*' :
Mul mul = new Mul();//Mul 클래스로 변수값을 넘기는 과정(캡슐화 되어있음)
mul.setvalue(num1, num2);
System.out.println(mul.cal());
break;
case '/' :
Div div = new Div();//Div 클래스로 변수값을 넘기는 과정(캡슐화 되어있음)
div.setvalue(num1, num2);
System.out.println(div.cal());
break;
default : System.out.println("잘못된 연산자 입니다.");
}
}
}
class Add{
private int a,b;
public void setvalue(int a, int b){//연산 대상을 설정하는 세터 메소드
this.a = a;
this.b = b;
}
public int cal(){
return a+b;
}
}
class Sub{
private int a,b;
public void setvalue(int a, int b){//연산 대상을 설정하는 세터 메소드
this.a = a;
this.b = b;
}
public int cal(){
return a-b;
}
}
class Mul{
private int a,b;
public void setvalue(int a, int b){//연산 대상을 설정하는 세터 메소드
this.a = a;
this.b = b;
}
public int cal(){
return a*b;
}
}
class Div{
private int a,b;
public void setvalue(int a, int b){//연산 대상을 설정하는 세터 메소드
this.a = a;
this.b = b;
}
public int cal(){
return a/b;
}
}
실행 결과는