【发布时间】:2022-01-17 09:33:50
【问题描述】:
一旦数组被编辑(添加或删除电影)并且用户返回主菜单再次列出电影,编辑后的数组不会输出。有没有办法在每次操作完成时替换数组以便打印出一个新数组?输出:https://imgur.com/Etm1uXB
*我们不允许在这个作业中使用 ArrayLists
public static void listMovies() {
String[]movies = {"This is Us","Ghostbusters","Shrek","Interstellar","Pacific Rim"};
for(int i=0; i<movies.length; i++) {
System.out.println((i+1)+") "+movies[i]);
}
returnToMenu();
}
private static void addMovies(String[]movies) {
reenterUser();
String[]moreMovies = new String[movies.length+1];
for(int i=0; i<movies.length; i++) {
moreMovies[i]=movies[i];
}
Scanner input = new Scanner(System.in);
System.out.println("Add a movie: ");
moreMovies[moreMovies.length-1]=input.nextLine();
System.out.println("You have added a movie!");
System.out.println("This is an updated list of movies available at the rental store: ");
printMovies(moreMovies);
returnToMenu();
}
【问题讨论】:
-
您可能希望为此使用 ArrayList。
-
没有“原始数组”。您在每次通话时都会创建一个新的。您可能希望将其存储在字段中。