반응형
문제
package kr.or.ddit.homework.home15;
public class HomeWork15 {
public static void main(String[] args) {
System.out.println("전화 상담의 분배 방식 선택.");
System.out.println("R: RoundRobn");
System.out.println("L: LeastJob");
System.out.println("P: PriorityAllocation");
System.out.println("선택 >>");
/*
* Schedular 클래스.
* getNextCall();
* sendCallToAgent();
*
* RoundRobn, LeastJob, PriorityAllocation 클래스는 각각
* Schedular 클래스를 상속 받기.
*
* PriorityAllocation
* getNextCall
* -> 우선 순위가 높은 상담전화를 대기열에서 가져옴.
* sendCallToAgent
* -> 업무 스킬이 가장 우수한 상담원에게 상담전화를 분배.
*
* RoundRobn
* getNextCall
* -> 상담전화를 대기열에서 차례대로 가져옴.
* sendCallToAgent
* -> 차례대로 상담원에게 상담전화를 분배.
*
* LeastJob
* getNextCall
* -> 상담전화를 대기열에서 차례대로 가져옴.
* sendCallToAgent
* -> 대기열이 가장 짧은 상담원에게 상담전화를 분배.
*/
Schedular s ;
s.getNextCall();
s.sendCallToAgent();
}
}
정답
package kr.or.ddit.homework.HomeWork15;
public class Schedular {
public void getNextCall() {
}
public void sendCallToAgent() {
}
}
package kr.or.ddit.homework.HomeWork15;
public class PriorityAllocation extends Schedular{
@Override
public void getNextCall() {
System.out.println("우선 순위가 높은 상담전화를 대기열에서 가져옴");
}
@Override
public void sendCallToAgent() {
System.out.println("업무 스킬이 가장 우수한 상담원에게 상담전화를 분배");
}
}
package kr.or.ddit.homework.HomeWork15;
public class RoundRobn extends Schedular{
@Override
public void getNextCall() {
System.out.println("상담전화를 대기열에서 차례대로 가져옴");
}
@Override
public void sendCallToAgent() {
System.out.println("차례대로 상담원에게 상담전화를 분배");
}
}
package kr.or.ddit.homework.HomeWork15;
public class LeastJob extends Schedular{
@Override
public void getNextCall() {
System.out.println("상담전화를 대기열에서 차례대로 가져옴");
}
@Override
public void sendCallToAgent() {
System.out.println("대기열이 가장 짧은 상담원에게 상담전화를 분배");
}
}
package kr.or.ddit.homework.HomeWork15;
import java.util.Scanner;
public class HomeWork15 {
public static void main(String[] args) {
System.out.println("전화 상담의 분배 방식 선택.");
System.out.println("R: RoundRobn");
System.out.println("L: LeastJob");
System.out.println("P: PriorityAllocation");
System.out.println("선택 >>");
/*
* Schedular 클래스.
* getNextCall();
* sendCallToAgent();
*
* RoundRobn, LeastJob, PriorityAllocation 클래스는 각각
* Schedular 클래스를 상속 받기.
*
* PriorityAllocation
* getNextCall
* -> 우선 순위가 높은 상담전화를 대기열에서 가져옴.
* sendCallToAgent
* -> 업무 스킬이 가장 우수한 상담원에게 상담전화를 분배.
*
* RoundRobn
* getNextCall
* -> 상담전화를 대기열에서 차례대로 가져옴.
* sendCallToAgent
* -> 차례대로 상담원에게 상담전화를 분배.
*
* LeastJob
* getNextCall
* -> 상담전화를 대기열에서 차례대로 가져옴.
* sendCallToAgent
* -> 대기열이 가장 짧은 상담원에게 상담전화를 분배.
*/
Scanner sc = new Scanner(System.in);
String c = sc.next();
if(c.equalsIgnoreCase("R")) {
Schedular s = new RoundRobn();
s.getNextCall();
s.sendCallToAgent();
} else if(c.equalsIgnoreCase("L")) {
Schedular s = new LeastJob();
s.getNextCall();
s.sendCallToAgent();
} else if(c.equalsIgnoreCase("P")) {
Schedular s = new PriorityAllocation();
s.getNextCall();
s.sendCallToAgent();
} else {
System.out.println("잘못 입력하셨습니다.");
}
}
}
반응형
'자바' 카테고리의 다른 글
[Java 초급] 18.5장 테스트 (0) | 2023.12.27 |
---|---|
[Java 초급] 18장 추상 클래스, 인터페이스, 중첩 클래스 (0) | 2023.12.27 |
[Java 초급] 17장 상속, 다형성 (2) | 2023.12.26 |
[Java 초급] 16.5장 테스트 (0) | 2023.12.22 |
[Java 초급] 16장 Getter, Setter, 재귀함수 (0) | 2023.12.22 |