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();
}
}
'JAVA Programming > JAVA 문제' 카테고리의 다른 글
[60] 제네릭 예제 내가 직접 생각해보면서 만들기 (0) | 2020.07.20 |
---|---|
[55] equals 를 재정의 하여 날짜가 같으면 true 반환 (0) | 2020.07.20 |
[46] 자바 인터페이스 요소들 , 여러개 상속 (0) | 2020.07.17 |
[42] 템플릿 메소드문제( ArrayList, 템플릿메소드 run() , 추상클래스) (0) | 2020.07.16 |
[38] 코딩해보세요 (상속,오버라이딩,업캐스팅,ArrayList 활용) (0) | 2020.07.16 |