티스토리 뷰
클래스를 활용한 계산 예제 입니다.
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;
}
}
실행 결과는
'IT > Java' 카테고리의 다른 글
[Java] 이차원 배열을 활용한 성적평가 예제 (0) | 2014.05.07 |
---|---|
[Java] 클래스를 활용한 성적 평가 예제 (0) | 2014.05.01 |
[Java] 자바객체지향개념 캡슐화, 정보은닉 (0) | 2014.05.01 |
[Java] String배열 연습문제. (0) | 2014.04.14 |
[Java] 0408 ~ 0411 연습문제 (0) | 2014.04.11 |