IT/Java

[Java] 클래스를 활용한 계산 예제

DongChul 2014. 5. 1. 20:12

클래스를 활용한 계산 예제 입니다.


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;

}

}

실행 결과는