添加学生信息到普通班级的时候如果添加学生到两个及以上班级会覆盖

添加学生信息到普通班级的时候如果添加学生到两个及以上班级会覆盖

老师您好,请问我这个代码哪里有问题,应该如何解决新添加的班级学生覆盖了前一个新添加的班级学生这个问题?

相关代码:

public void test() {
Scanner sc = new Scanner(System.in);
Test test = new Test();
School school = new School();
Clas cla = new Clas("主学生列表");
school.addClass(cla);
Clas cla1 = null;
Student stu = null;
while (true) {
test.mainMenu();
System.out.println("请输入对应数字进行列表管理");

int s1 = 0, s2 = 0, s3 = 0;
s1 = sc.nextInt();
switch (s1) {


// 2-添加学生信息到普通班级
case 2:
System.out.println("添加学生信息到普通班级");
System.out.println("请输入要添加的班级名称");
String classname = sc.next();
cla1 = school.searchClass(classname);
if (cla1 == null) {
System.out.println("不存在班级");
} else {
System.out.println("请输入要添加的学生个数:");
int num = sc.nextInt();
for (int i = 1; i <= num; i++) {
System.out.println("请输入第" + i + "个学生信息");
System.out.println("请输入要添加的学生id:");
String stuid = sc.next();
stu = cla.searchStudent(stuid);// 通过学生id在主列表查找学生信息
if (stu == null) {
System.out.println("未找到学生信息");
break;
} else {
cla1.addStudent(stu);
}
}
}
System.out.println("主学生列表:");
cla.displayAllstu();
System.out.println(classname + "班级列表:");
cla1.displayAllstu();
break;

相关代码:

// 添加学生信息到班级
public void addStudent(Student stu) {
boolean flag = false;
for (Student student : stuList) {
if (stu.equals(student)) {
flag = true;
break;
}
}
if (flag) {
System.out.println("学生信息已存在,请勿重复输入!");
} else {
stuList.add(stu);
System.out.println("添加成功!");
}
}

相关代码:

// 通过学号查找学生信息
public Student searchStudent(String id) {
for (Student stu : stuList) {
if (stu.getId().equals(id)) {
return stu;
}
}
return null;
}

http://img1.sycdn.imooc.com//climg/6115296e094f688838401080.jpg

http://img1.sycdn.imooc.com//climg/6115296e096a7b5a38401080.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,同学是指添加学生到普通班级成功时最后输出该班级所有学生吗,如下

http://img1.sycdn.imooc.com//climg/6115e14c093d4bc004060373.jpg

如果是,这里是需要创建一个list来存储班级学生的,最后输入完学生后遍历该list

http://img1.sycdn.imooc.com//climg/6115e28d0991c43303290133.jpg

祝学习愉快~

慕村4629685 提问者 2021-08-13 10:31:20

我创建了一个list用来存储新增加学生的班级,用for循环来输出,请问还有什么更简洁的方案吗?

慕村4629685 提问者 2021-08-12 22:19:39

老师您好,我测试了一下,证明我两次录入的班级学生信息,录入进去了,只是在最后输出的时候没有一起输出,那么想请教一下,如何在录入第二个班级学生信息的时候输出前面已经录入成功的学生班级信息呢?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师