我对正在处理的一些代码的行为感到困惑。我可以在这里粘贴整个代码,因为这是一项任务,但我想知道为什么会发生这种情况。
基本上我创建了一个Scanner对象,它接受输入的详细信息 - 数字,名字和姓氏 - 一旦我有了这些细节,我使用Person类创建一个新对象,将其添加到我事先声明的向量(人)中:我使用此代码同时创建和添加:
people.addElement(new Person(number,firstName,familyName));
这样可以正常工作,因为它正确地将对象添加到向量中,但是当程序再次循环并开始进程时问题就出现了。询问用户是否想要进入另一个人,如果他们说是,他们会再次输入数据,并且会创建一个包含下一个人详细信息的新对象,并将其放在数组的下一个索引中但是似乎用新的细节覆盖了以前的细节并创建了一个带有新细节的新对象 - 即留下2或3或4 *我输入的多少,直到我退出)存储在向量中的对象都具有完全相同的细节。
我已经检查了向量中存储的内容,通过使用for循环将它们打印出来,并且我通过直接引用每个索引的手动print语句来检查我的for循环是否有问题(我确定)它是正确的,因为当我尝试前3个索引,但只输入两个进入程序我得到一个异常,因为它超出界限)
希望这是有道理的,并且有人可能知道为什么它可能会以这种方式表现我可以研究。就像我说这是一项任务,所以我正在寻找方向,而不是有人给我外出答案。