我对电影的ArrayList,它需要的电影title,year,genre, price为参数。有与没有错误title,year,price。我有3个班,Movie,Catalogue,和Genre以及类的代码Genre是给我提供的。错误似乎与一起发生Genre。
我没有更改Genre类,但是我尝试使用字符串,但是它带出了错误,只有在我输入时才会出现错误null。
我希望能够添加到ArrayList中,但是出现错误genre。
请原谅我缺乏理解,这(从技术上来说)是我编程的第一年。
您的Movie构造函数仅将一个Genre作为参数,而应将其List<Genre>作为参数:
Movie(String title, int year, Genre genre, int price){
}
Run Code Online (Sandbox Code Playgroud)
应该:
Movie(String title, int year, List<Genre> genres, int price){
}
Run Code Online (Sandbox Code Playgroud)
完整电影课:
public class Movie
{
private String title;
private int year;
private int price;
private List<Genre> genres;
Movie(String title, int year, List<Genre> genres, int price){
this.title = title;
this.year = year;
this.genres = genres;
this.price = price;
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:如果您不能更改Movie类,则意味着您只能通过一个,Genre而不能List。因此,您必须选择要通过的流派:
public class Catalogue
{
private Kiosk kiosk;
private List<Movie> moviesAvailable = new ArrayList<Movie>();
private Set<Genre> genres = new HashSet<Genre>();
Catalogue(Kiosk kiosk){
}
Catalogue(){
Genre sciFi = new Genre("SciFi");
Genre drama = new Genre("Drama");
Genre crime = new Genre("Crime");
genres.add(sciFi);
genres.add(drama);
genres.add(crime);
moviesAvailable.add(new Movie("Matrix", 1999, sciFi, 3));
moviesAvailable.add(new Movie("Titanic", 1997, drama, 4));
moviesAvailable.add(new Movie("The Silence of the Lambs", 1991, crime, 3));
moviesAvailable.add(new Movie("Jurassic Park", 1993, sciFi, 4));
moviesAvailable.add(new Movie("Terminator 2", 1991, sciFi, 3));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |