문제의 코드
package test;
class MyMovie {
private String title; // 영화제목
private String[] seats; // 좌석
public MyMovie(String title, int seatCount) {
this.title = title;
this.seats = new String[seatCount];
for (int i = 0; i < seatCount; i++) {
seats[i] = "A" + (i + 1);
}
}
public String[] getSeats() {
return seats;
}
}
public class MyMovieReservationSystem {
public static void main(String[] args) {
MyMovie Movie = new MyMovie("헤리포터", 7);
System.out.println(Movie.getSeats(0));
}
}
결과

해결
package test;
class MyMovie {
private String title; // 영화제목
private String[] seats; // 좌석
public MyMovie(String title, int seatCount) {
this.title = title;
this.seats = new String[seatCount];
for (int i = 0; i < seatCount; i++) {
seats[i] = "A" + (i + 1);
}
}
public void getSeats() {
for (int i = 0; i < seats.length; i++) {
System.out.print("[" + seats[i] + "]");
}
}
}
public class MyMovieReservationSystem {
public static void main(String[] args) {
MyMovie Movie = new MyMovie("헤리포터", 7);
Movie.getSeats();
}
}
이유
System.out.println
에서 메소드를 부르려 하였다.
- 리턴 타입이 일치 되지 않음
- 리턴을 사용하면 계속
private String[]
를 불러오기 때문에public void
를 사용하여 리턴 값말고 바로 출력할 수 있게 변경.
Share article