首页 > 解决方案 > ArrayList 不会存储来自用户输入的实例

问题描述

我正在尝试使用用户输入向 ArrayList 添加一个元素。问题是当我尝试添加一些东西并要求列出它时,它没有显示在列表中。

我以为是read方法的问题,但不确定是不是有什么问题。另一件事是添加元素的方法不在循环中,我尝试使用循环但仍然无法正常工作。有一个带有构造函数的电影类,该构造函数具有参数 for titleyeargenrepricetoString 方法。

预期结果:添加电影后,它应该列出添加的电影。实际结果: add 方法要求输入,但是当我使用 list 方法时,它没有列出我添加的内容。

这是完整的信息亭目录类以获取更多上下文。

标签: javaarraylistjava.util.scanner

解决方案


new Catalogue().addMovie();

Catalogue每次要添加 a时,您都在创建一个新的Movie,并且您永远不会引用它。

相反,将所有电影添加到相同的Catalogue

private void addMovie(Catalogue c) {
    c.addMovie();
}

private void listMovie(Catalogue c) {
    c.listMovie();
}

推荐阅读