有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中将多个对象添加到列表时遇到问题

我有一个用Java编写的基本投资计算器,而且我似乎无法将多个投资对象添加到ArrayList中。以下是一些基础知识(问题行位于“如果添加401k”块中):

public static void main(String[] args) {
    input = new Scanner(System.in);
    ArrayList<Investment> invList = new ArrayList();

    int mainChoice = Util.mainMenu();

    while(3 != mainChoice) {

        //Add new investment
        if (1 == mainChoice) {
            int invChoice = Util.invMenu();

            //If adding a 401k
            if (1 == invChoice) {
                //gets info from user, these get passed as arguments when creating new object below

                //RetPlan401k extends the Investment superclass
                RetPlan401k inv = new RetPlan401k(invName, bal401k, contrb401k, ret401k, match, cap);
                invList.add(inv);
            }
            ...

通过调试,我知道我可以在列表中添加任意数量的投资对象,但是当我打印每个对象的信息时(为了简单起见,我们可以这样说:

(for int i = 0; i < invList.size(); ++i){
System.out.print("Investment name: " + invList.get(i).getName());
}) 

它打印列表中最近添加的对象的名称。大小()倍。我有一张清单。size()对象,所有这些对象都包含完全相同的信息

这就像这里的数据结构101,但我有一段时间没有看到它。为什么每个投资对象不按照输入方式打印?谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    问题解决了。。。原来我的对象类中有一些错误的“静态”关键字。每次都会这样。谢谢大家