[ Class Diagram ]
[소스코드 : OperationApplication.java]
package sk.didimdol.exercise.operation;
public class OperationApplication {
public static void main(String[] args) {
OperationMenu opmenu = new OperationMenu();
opmenu.runApp();
}
}
[소스코드 : OperationMenu.java]
package sk.didimdol.exercise.operation;
import java.util.Scanner;
public class OperationMenu {
char menu;
Operation op = new Calculator();
public void runApp(){
mainMenu();
}
public void mainMenu(){
Scanner scan = new Scanner(System. in);
boolean key = true;
while( key){
System. out.println( ">> 메뉴를 선택하세요." );
System. out.print( ">>(A)dd, (S)ub, (M)ultiple, (D)ivide, (Q)uit : ");
menu = scan.next().toUpperCase().charAt(0);
switch( menu){
case 'A':
System. out.print( ">> 덧셈입니다. 두 수를 띄어쓰기로 구분하여 입력하세요. : " );
displayResult( op.add( scan.nextInt(), scan.nextInt()));
break;
case 'S':
System. out.print( ">> 뺄셈입니다. 두 수를 띄어쓰기로 구분하여 입력하세요. : " );
displayResult( op.sub( scan.nextInt(), scan.nextInt()));
break;
case 'M':
System. out.print( ">> 곱셈입니다. 두 수를 띄어쓰기로 구분하여 입력하세요. : " );
displayResult( op.multiple( scan.nextInt(), scan.nextInt()));
break;
case 'D':
System. out.print( ">> 나눗셈입니다. 두 수를 띄어쓰기로 구분하여 입력하세요. : " );
displayResult( op.divide( scan.nextDouble(), scan.nextDouble()));
break;
case 'Q':
System. out.println( "프로그램을 종료합니다." );
key = false;
break;
default:
System. out.println( "잘못된 메뉴를 선택하셨습니다. 다시 선택하세요." );
} //end switch
} //end while
}//end mainMenu
public void displayResult( int x){
System. out.println( "계산된 값 : "+x);
System. out.println( "");
}
public void displayResult( double x){
System. out.println( "계산된 값 : "+x);
System. out.println( "");
}
}
[소스코드 : Operation.java]
package sk.didimdol.exercise.operation;
public interface Operation {
int add(int a, int b);
int sub(int a, int b);
int multiple(int a, int b);
double divide( double a, double b);
}
[소스코드 : Calculator.java]
package sk.didimdol.exercise.operation;
public class Calculator implements Operation{
int resultInt;
double resultDouble;
@Override
public int add(int a, int b) {
resultInt = a + b;
return resultInt;
}
@Override
public int sub(int a, int b) {
resultInt = a - b;
return resultInt;
}
@Override
public int multiple(int a, int b) {
resultInt = a * b;
return resultInt;
}
@Override
public double divide( double a, double b) {
resultDouble = a/ b;
return resultDouble;
}
}
댓글 없음:
댓글 쓰기