더하기, 빼기, 곱하기, 나누기를 수행하는 각 클래스 Add, Sub, Mul, Div를 만들어라. 이들은 모두 다음 필드와 메소드를 가진다.
•int 타입의 a,b 필드 : 연산하고자 하는 피연산자
•void setValue(int a, int b) : 피연산자를 객체 내에 설정한다.
•int calculate() : 해당 클래스의 목적에 맞는 연산을 실행하고 그 결과를 리턴한다.
•main() 메소드에서는 키보드로부터 두 정수와 계산하고자 하는 연산자를 입력받은 후 Add, Sub, Mul, Div 중에서 이 연산을 실행하는 객체를 생성하고 setValue()와 calculate()를 호출하여 결과 값을 출력한다.
import java.util.Scanner;
public class Cal {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a, b;
Add add = new Add();
Sub sub = new Sub();
Mul mul = new Mul();
Div div = new Div();
System.out.println("두 정수 입력후 연산자 입력");
System.out.println("ex=====");
System.out.println("2 3");
System.out.println("+");
System.out.println("=======");
a = sc.nextInt();
b = sc.nextInt();
char c;
while (true) {
c = sc.next().charAt(0);
if (c == '+' || c == '-' || c == '*' || c == '/')
break;
System.out.println("잘못된 연산자!");
}
switch (c) {
case '+': {
add.setValue(a, b);
System.out.println(add.calculate());
break;
}
case '-': {
sub.setValue(a, b);
System.out.println(sub.calculate());
break;
}
case '*': {
mul.setValue(a, b);
System.out.println(mul.calculate());
break;
}
case '/': {
div.setValue(a, b);
System.out.println(div.calculate());
break;
}
}
}
}
class Add {
private int a, b;
public void setValue(int a, int b) {
this.a = a;
this.b = b;
}
public int calculate() {
return a + b;
}
}
class Sub {
private int a, b;
public void setValue(int a, int b) {
this.a = a;
this.b = b;
}
public int calculate() {
return a - b;
}
}
class Mul {
private int a, b;
public void setValue(int a, int b) {
this.a = a;
this.b = b;
}
public int calculate() {
return a * b;
}
}
class Div {
private int a, b, result;
public void setValue(int a, int b) {
this.a = a;
this.b = b;
}
public int calculate() {
try{
result = a / b;
}catch(ArithmeticException e){
System.out.println("0으로 나눌 수 없습니다.");
}
return result;
}
}
'개인 공부방 > JAVA' 카테고리의 다른 글
자바의 정석_연습문제 답안 (0) | 2012.10.16 |
---|---|
자바 계산기 v2 (0) | 2012.10.16 |
자바 -DB 연동 파일입출력 (0) | 2011.12.01 |
자바-오라클 연동 3. 데이터 삭제하기 - statement, prepareStatement 이용 (0) | 2011.11.30 |
자바-오라클 연동 3. 데이터 삽입 기초-preparedStatement (0) | 2011.11.30 |