class TvCollection{
private Tv[] tvList;
public TvCollection(){
System.out.print("Tv정보를 입력합니다.\n정보를 입력할 Tv의 숫자를 입력해 주세요 : ");
Scanner scan = new Scanner(System.in);
int m = scan.nextInt();
for(int n = 0; n < m; n++){
System.out.print("\n" + (n + 1) + "번째 ");
setTvList(new Tv());
}
System.out.println(toString());
}
public Tv[] getTvList() {
return tvList;
}
public void setTvList(Tv... tvList) {
this.tvList = tvList;
}
public String toString(){
String info = "\n입력된 티비의 정보입니다.\n";
int n = 1;
for(Tv t : tvList){
info += n + "번 Tv의 컬러 : " + t.getColor();
info += "\tTv의 채널 수 : " + t.getChannel();
n++;
}
return info;
}
}
클래스가 셋 있습니다.
첫 번째는 Tv Class이고 거기선 정보를 두개 가지고 있습니다.
color 와 channer
두 번째는 위와 같습니다.
세 번째는 메인메서드이고, 그 안에서 두 번째 메서드인 TvCollection을 생성합니다.
생성을 하면 생성자에서 첫 번째 클래스인 Tv 객체를 생성하고, 그 값을 가변길이를 가진 배열 tvList에 대입을 합니다.
그런데 둘 이상의 티비 정보를 입력하면 입력까진 다 됩니다.
하지만 최종 출력물인 티비 정보가 마지막에 입력한 티비의 정보값만이 출력이 됩니다.
문제가 되는 부분이 Tv객체까진 생성이 되지만 가변길이를 가진 배열 안에 저장이 되지 않는것 같습니다.
이 문제를 해결하려면 어떻게 해야되나요?