본문 바로가기
Java

[Java] 명품 자바프로그래밍 제 4장 실습문제 1번

by graygreat 2017. 4. 11.
728x90
반응형

노래를 나타내는 Song이라는 클래스를 설계하라. Song 클래스는 다음과 같은 필드를 갖는다.


● 노래의 제목을 나타내는 title

● 가수를 나타내는 artist

● 노래가 속한 앨범 제목을 나타내는 album

● 노래의 작곡가를 나타내는 composer, 작곡가는 여러 명 있을 수 있다.

● 노래가 발표된 연도를 나타내는 year

● 노래가 속한 앨범에서의 트랙 번호를 나타내는 track


 생성자는 기본 생성자와 모든 필드를 초기화하는 생성자를 작성하고, 노래의 정보를 화면에 출력하는 show() 메소드도 작성하라. ABBA의 “Dancing Queen"노래를 Song 객체로 생성하고 show()를 이용하여 이 노래의 정보를 출력하는 프로그램을 작성하라.



public class Song {
    private String title;
    private String artist;
    private String album;
    private String composer[];      // 작곡가 여러명
    private int year;
    private int track;
    
    // 모든 필드를 초기화 하는 생성자
    Song(String title, String artist, String album, String composer[], int year, int track) {
        this.title = title;
        this.artist = artist;
        this.album = album;
        this.composer = composer;
        this.year = year;
        this.track = track;
    }
    
    // 기본 생성자
    Song(){
        this(null, null, null, null, 0, 0);
    }
    
    // 노래의 정보를 출력하는 메소드
    void show() {
        System.out.println("노래 제목 : " + title);
        System.out.println("가수 : " + artist);
        System.out.println("앨범 제목 : " + album);
        System.out.print("작곡가 : ");
        for (int i = 0; i < composer.length; i++){
            System.out.print(composer[i]);
            if (i < composer.length - 1)
                System.out.print(", ");
        }
        System.out.println();
        System.out.println("발표된 연도 : " + year);
        System.out.println("트랙 번호 : " + track);
    }

    public static void main(String[] args) {
        Song s = new Song("Dancing Queen", "ABBA", "Arrival",
                new String[] { "BennyAndersson", "BjornUlvaeus", "StigAnderson" }, 1976, 100);  // 객체 생성

        s.show();   
    }
}



비교적 쉬움...

반응형

댓글