Java 如何在每次程序循环时创建新对象?
我的程序是如何设置的,我的代码运行并允许用户创建一个新的电影对象,然后将其存储到构造函数中。然后,它提供了创建新电影的选项,该电影随后存储在同一个电影对象中,最终覆盖先前创建的电影对象。许多实现将对象创建放在一个循环中,但这要求将所有多个值同时存储到多个对象中,我不打算这样做。我不知道如何着手解决这个问题。 这是我的密码 电影课Java 如何在每次程序循环时创建新对象?,java,Java,我的程序是如何设置的,我的代码运行并允许用户创建一个新的电影对象,然后将其存储到构造函数中。然后,它提供了创建新电影的选项,该电影随后存储在同一个电影对象中,最终覆盖先前创建的电影对象。许多实现将对象创建放在一个循环中,但这要求将所有多个值同时存储到多个对象中,我不打算这样做。我不知道如何着手解决这个问题。 这是我的密码 电影课 public class Movie { private int id; private String name; private String
public class Movie {
private int id;
private String name;
private String description;
private String[] genre;
private String[] actors;
private String[] language;
private String countryOfOrigin;
private Map<String, Integer> ratings;
Movie() {
}
//Constructor
public Movie(int id, String name, String description, String[] genre, String[] actors, String[] language, String countryOfOrigin, Map<String, Integer> ratings) {
this.id = id;
this.name = name;
this.description = description;
this.genre = genre;
this.actors = actors;
this.language = language;
this.countryOfOrigin = countryOfOrigin;
this.ratings = ratings;
}
//setters
public void setid(int id) {
this.id = id;
}
public void setname(String name) {
this.name = name;
}
//getters
public int getId() {
return id;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "\nMovie Id: " + id + " \nMovie Name: " + name + "\nMovie Description: " + description + "\nMovie Genre(s): " + Arrays.toString(genre) + "\nMovie Actor(s): " + Arrays.toString(actors) + "\nMovie Language(s): " + Arrays.toString(language) + "\nCountry of Origin: " + countryOfOrigin + "\nRatings: " + ratings +"";
}
}
创建电影对象后,可以将其存储在某种容器中。例如,您可以使用ArrayList ArrayList电影=新建ArrayList
你可以把这个放在你的while循环上面。然后,在创建对象之后,可以将其添加到容器中,例如movies.addmovie1,您可以将其放在调用构造函数的地方。稍后要访问该对象,您可以使用movies.getindex也许您可以将每个新电影放入一个ArrayList,这样在最后您就有了一个不同电影的列表。
public class Main {
// --- Private global scanner initialization --- //
private static Scanner input = new Scanner(System.in);
public static void main(String[] args) throws Exception {
while (loopAgain) {
Random rand = new Random();
int id = rand.nextInt(MAX);
System.out.println("\nCreate Poll");
System.out.println("\nEnter the Movie Name: ");
String name = input.nextLine();
Movie movie1 = new Movie(id, name, description, genre, actors, language, countryOfOrigin, mapRatings);
System.out.println("Create new movie? (y/n): ");
String answer = input.nextLine();
if (answer.equals("y") || answer.equals("Y")) {
loopAgain = true;
}
}
}
}