import java.util.Scanner;
public class Song{
private String title;
private String artist;
private String album;
private String[] composer;
private int year;
private int track;
public Song(){
} //디폴트
public Song(String t,String a,String b,String[] c,
int y, int r){ //기본생성자
title=t;
artist=a;
album=b;
composer =c;
year = y;
track = r;
}
public void Show(){
System.out.println("노래제목 : "+title);
System.out.println("가수 :"+artist);
System.out.println("앨범 :"+album);
System.out.println("작곡가 :"+composer);
for (int i=0; i<composer.length; i++) {
System.out.print(composer[i]);
if (i+1 == composer.length)
System.out.println();
else
System.out.print(", ");
}
System.out.println("년도 :"+year);
System.out.println("트랙번호 :"+track);
}
public static void main(String[] args) {
Scanner k= new Scanner(System.in);
String a,b,d;
int e,f;
int i=0;
int cnum=0;
System.out.println("노래 제목을 입력하세요");
a=k.next();
System.out.println("가수 이름을 입력하세요");
b=k.next();
System.out.println("앨범 이름을 입력하세요");
d=k.next();
System.out.println("작곡가를 몇명입력하시겠습니까?");
cnum=k.nextInt();
String composer_list[]=new String[cnum];
while(i!=cnum)
{
System.out.println("작곡가를 입력하세요");
composer_list[i]=k.next();
i++;
}
System.out.println("년도를 입력하세요");
e=k.nextInt();
System.out.println("트랙번호를 입력하세요");
f=k.nextInt();
Song s= new Song(a,b,d,composer_list,e,f);
s.Show();
}
}
스캔받은 앨범 정보를 통해서 따른 클래스 인스턴스로 가서 출력받는건데
결과정보가
노래 제목을 입력하세요
Thriller
가수 이름을 입력하세요
Michael_Jackson
앨범 이름을 입력하세요
King_of_Pop
작곡가를 몇명입력하시겠습니까?
1
작곡가를 입력하세요
Null
년도를 입력하세요
2014
트랙번호를 입력하세요
6
노래제목 : Thriller
가수 :Michael_Jackson
앨범 :King_of_Pop
작곡가 :[Ljava.lang.String;@1a897a9
Null
년도 :2014
트랙번호 :6
로 나오는데 [Ljava.lang.String;@1a897a9 이건 뭔가요???? 크엌ㅋㅋㅋㅋㅋ
p.s 그리고 한글로 쓰면 입력창에서 오류나던데 한글로는 왜안써질까요?