JAVA Programming/JAVA 문제
[49] 코딩해보세요 , 인터페이스로 정렬 알고리즘 구현하기
꾸준히개발하자
2020. 7. 17. 11:19
Sort 인터페이스 생성
package schedulerex;
public interface Sort {
public void ascedning(int[] arr); // abstract 생략
public void descending(int[] arr);
default void description() { // default 메소드 적어줘야 한다.
System.out.println("숫자를 구현한 알고리즘 입니다.");
}
}
상속받아 구현한 BubbleSort 클래스
package schedulerex;
public class BubbleSort implements Sort {
@Override
public void ascedning(int[] arr) {
System.out.println("BubbleSort 입니다.");
}
@Override
public void descending(int[] arr) {
System.out.println("BubbleSort 입니다.");
}
@Override
public void description() {
Sort.super.description();
System.out.println("BubbleSort 입니다.");
}
}
상속 받아 구현한 HeapSort 클래스
package schedulerex;
public class HeapSort implements Sort {
@Override
public void ascedning(int[] arr) {
System.out.println("HeapSort 알고리즘 입니다.");
}
@Override
public void descending(int[] arr) {
System.out.println("HeapSort 알고리즘 입니다.");
}
@Override
public void description() {
Sort.super.description();
System.out.println("HeapSort 알고리즘 입니다.");
}
}
상속 받아 구현한 QuickSort 클래스 입니다.
package schedulerex;
public class QuickSort implements Sort {
@Override
public void ascedning(int[] arr) {
System.out.println("QuickSort 입니다.");
}
@Override
public void descending(int[] arr) {
System.out.println("QuickSort 입니다.");
}
@Override
public void description() {
Sort.super.description();
System.out.println("QuickSort 입니다.");
}
}
package schedulerex;
import java.io.IOException;
public class SortTest {
public static void main(String[] args) throws IOException {
System.out.println("정렬 방식을 선택하세요.");
System.out.println("B : BubbleSort ");
System.out.println("H : HeapSort ");
System.out.println("Q : QuickSort ");
int ch = System.in.read(); // 콘솔을 읽어들인다.
Sort sort = null; // Sort 클래스 sort는 선언만하고 일단 NULL 값으로 설정 한다.
if(ch == 'B' || ch == 'b') {
sort= new BubbleSort();
} else if(ch == 'H' || ch == 'h' ) {
sort= new HeapSort();
} else if(ch == 'Q' || ch == 'q') {
sort= new QuickSort();
} else {
System.out.println("아무것도 해당되지 않습니다.");
return;
}
int[] arr = new int[10]; // 배열선언 및 생성
sort.ascedning(arr); // (int[] arr) 에 배열객체를 넣는다.
sort.descending(arr);
sort.description();
}
}