JAVA 为什么向集合中存放新的数据时会覆盖掉旧的数据

publicvoidInformation2(){System.out.print("请输入新用户的姓名:");Stringname=sc.nextLine();Syst... public void Information2(){

System.out.print("请输入新用户的姓名:");
String name = sc.nextLine();
System.out.print("请输入新用户的性别:");
String sex = sc.nextLine();
System.out.print("请输入新用户的年龄:");
int age = sc.nextInt();
sc.nextLine();
person.setname(name);
person.setsex(sex);
person.setage(age);
ow.regist2(person);
}

package 购物管理系统;
import java.util.*;
public class ShowUser2 {
public ShowUser2(){}
private static ArrayList<User2> array2= new ArrayList<User2>();
public void show(){
for(User2 i : array2){
System.out.println(i);
}
}
public void regist2(User2 user2){
array2.add(user2);
}
}
展开
 我来答
白菜一颗
2015-04-24 · TA获得超过8916个赞
知道大有可为答主
回答量:3260
采纳率:69%
帮助的人:3735万
展开全部
应该是你Information2里面操作的person对象的问题,你一直使用的是同一个变量,没有重新创建过,所以放list里面放的都是一样的
更多追问追答
追问
我该怎么改
追答
在 Information2() 方法进来的第一行就加上这句 person = new User2(); 应该就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式