공부하시는대에 도움이 됐으면 좋겠습니다.
답안코드 확인해주세요!
더보기
import java.util.Scanner;
abstract class Calc { //Calc클래스입니다.
protected int a;
protected int b;
public void setValue(int a, int b) { //피연산자의 값을 객체 내에 저장한비다.
this.a = a;
this.b = b;
}
abstract int calculate();
}
class Add extends Calc { //Calc클래스를 상속하는 add클래스입니다.
public int calculate() { //a+b를 return합니다.
return a + b;
}
}
class Sub extends Calc { //Calc클래스를 상속하는 Sub클래스입니다.
public int calculate() { //a-b를 return합니다.
return a - b;
}
}
class Mul extends Calc { //Calc클래스를 상속하는 Mul클래스입니다.
public int calculate() { //a*b를 return합니다.
return a * b;
}
}
class Div extends Calc { //Calc클래스를 상속하는 Div클래스입니다.
public int calculate() { //a/b를 return합니다.
return a / b;
}
}
public class makeCalc {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int result = 0;
while (true) { //잘못된 연산이 나오는 경우까지 프로그램을 실행합니다.
System.out.print("두 정수와 연산자를 입력하시오 >> "); //정수를 입력받습니다.
int a = in.nextInt();
int b = in.nextInt();
char c = in.next().charAt(0);
Calc cal;
switch (c) {
case '+': //+라면 +결과를 보여줍니다.
cal = new Add();
break;
case '-': //-라면 -결과를 보여줍니다.
cal = new Sub();
break;
case '*': //*라면 *결과를 보여줍니다.
cal = new Mul();
break;
case '/': // 나누기(/)라면 /결과를 보여줍니다.
cal = new Div();
break;
default: // + - * / 해당하는 문자가 아닌경우 프로그램이 종료됩니다.
System.out.println("프로그램을 종료합니다.");
return;
}
cal.setValue(a, b);
result = cal.calculate();
System.out.println(result);
}
}
'자바 > 자바' 카테고리의 다른 글
[자바] 사용자로부터 정수형 값을 입력받아 3,6,9중 하나가 있을 경우 "박수짝"으로 출력, 두 개가 있는 경우 "박수짝짝"으로 출력, 하나도 없으면 "3,6,9 없음"으로 출력하는 프로그램을 작성하시.. (0) | 2020.05.22 |
---|---|
[자바] TV클래스를 상속받는 ColorTv, ColorTV를 상속받는 IPTV클래스를 작성하시오 (0) | 2020.04.28 |
[자바] 상속을 이용해서 SharpPencil, BallPen, FountainPen을 작성하시오 (0) | 2020.04.28 |
[자바] 분수의 덧셈, 뺄셈 , 곱셈, 나눗셈을 실행하는 메소드를 작성하고 실행하시오 (0) | 2020.04.15 |
[자바] 좌표를 입력하고 사각형안에 점이 존재하는지 확인하시오 (0) | 2020.04.11 |
댓글