반응형

[쉽게 배우는 자바 프로그래밍] 

        Chapter 07. 추상 클래스와 인터페이스

            프로그래밍 문제 

 

3. 가격 순서대로 정렬할 수 있는 Book 클래스와 다음 실행 결과가 나타나도록 테스트 프로그램을 작성하시오. Book 클래스에는 int타입의 price 필드가 있으며, 생성자와 필요한 메서드를 포함한다. 또 테스트 프로그램은 3개의 Book 객체로 구성된 Book 배열을 사용해 가격 순서대로 정렬한 후 출력한다.

 

배열 books를 정렬하려면 Arrays.sort(books)를 호출하면 된다.

 

정렬 전 
Book [price=15000] 
Book [price=50000] 
Book [price=20000] 

정렬 후 
Book [price=15000] 
Book [price=20000] 
Book [price=50000]

 


 

        [ Book.java ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Book implements Comparable<Book> {
 
    int price;
    
    public Book(int price) {
        this.price = price;
    }
    
    public void sortOff() {
        System.out.println("Book [price = " + price + "]");
    }
    
    @Override
    public int compareTo(Book book) {
        return this.price - book.price;
    }
 
}
 

 

 

        [ BookTest.java ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class BookTest {
 
    public static void main(String[] args) {
 
        Book[] books = new Book[] { new Book(15000), new Book(50000), new Book(20000) };
        
        System.out.println("정렬 전");
        for (Book b1 : books) {
            b1.sortOff();
        }
        
        System.out.println();
        Arrays.sort(books);
        
        System.out.println("정렬 후");
        for (Book b2 : books) {
            b2.sortOff();
        }        
 
    }
 
}

 

 

반응형