普通学生列表怎么创建不同的班级对象

普通学生列表怎么创建不同的班级对象

老师能给个思路吗,现在只能添加一个普通列表

正在回答

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

8回答

同学你好,应该将学生添加到输入的班级中。
修改代码如下:

http://img1.sycdn.imooc.com//climg/5eb5367709f9e96b07850555.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • KLovei 提问者 #1
    啊我一直搞错了,谢谢老师!
    2020-05-08 19:29:42
提问者 KLovei 2020-05-08 16:57:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
package com.imooc.student;
 
import java.util.List;
import java.util.Scanner;
import java.util.Set;
 
    // 主菜单
    public void mainMenu() {
        System.out.println("****************************");
        System.out.println("                 **主菜单**");
        System.out.println("                 1--班级管理");
        System.out.println("                 2--学校管理");
        System.out.println("                 0--退出");
        System.out.println("****************************");
    }
 
    // 学校管理菜单
    public void schoolMenu() {
        System.out.println("***********************************************************");
        System.out.println("                 **学校管理**");
        System.out.println("                 1--创建班级");
        System.out.println("                 2--删除班级");
        System.out.println("                 3--通过班级名称查询班级信息");
        System.out.println("                 4--对各班语文成绩按平均分进行由大到小的排序");
        System.out.println("                 5--对各班数学成绩按平均分进行由大到小的排序");
        System.out.println("                 6--显示所有班级名称");
        System.out.println("                 9--返回上一级菜单");
        System.out.println("***********************************************************");
    }
 
    // 班级管理菜单
    public void banJiMenu() {
        System.out.println("***********************************************************");
        System.out.println("                 **班级管理**");
        System.out.println("                 1--添加学生信息到主学生列表");
        System.out.println("                 2--添加学生信息到普通班级");
        System.out.println("                 3--通过学号查询学生信息");
        System.out.println("                 4--输入班级的语文成绩");
        System.out.println("                 5--输入班级的数学成绩");
        System.out.println("                 6--删除学生信息");
        System.out.println("                 7--显示所有学生信息");
        System.out.println("                 9--返回上一级菜单");
        System.out.println("***********************************************************");
 
    }
 
    // 主流程
    public void test() {
        TestDemo td = new TestDemo();
        School school = new School();
        Scanner sc = new Scanner(System.in);
        int input1 = 0, input2 = 0, input3 = 0;
        BanJi mainBanJi = new BanJi("B001""主学生列表");
        school.addBanJi(mainBanJi);
        BanJi BanJi1 = null;
        List<Student> list = null;
        while (true) {
            td.mainMenu();
            System.out.println("请输入对应的数字进行操作:");
            input1 = sc.nextInt();
            if (input1 == 0) {
                break;
            }
            switch (input1) {
            case 1:
                while (true) {
                    td.banJiMenu();
                    System.out.println("请输入对应的数字对班级进行管理");
                    input2 = sc.nextInt();
                    if (input2 == 9) {
                        break;
                    }
                    switch (input2) {
                    case 1:
                        System.out.println("添加学生信息到主播放列表:");
                        System.out.println("情输入要添加的学生信息个数:");
                        int count1 = sc.nextInt();
                        for (int i = 1; i <= count1; i++) {
                            System.out.println("请输入第" + i + "个学生的信息:");
                            System.out.println("请输入学生id:");
                            String id = sc.next();
                            System.out.println("请输入学生姓名:");
                            String name = sc.next();
                            Student stu = new Student(id, name);
                            mainBanJi.addStudent(stu);
                        }
                        mainBanJi.displayBanJiName();
                        break;
                    case 2:
                        System.out.println("添加学生信息到普通班级:");
                        System.out.println("请输入要添加的班级名称:");
                        String strName = sc.next();
                        BanJi banji = school.searchByName(strName);
                        if (banji == null) {
                            System.out.println("该班级不存在!");
                            break;
                        else {
                            System.out.println("请输入要添加的学生信息个数:");
                            int count2 = sc.nextInt();
                            for (int i = 1; i <= count2; i++) {
                                System.out.println("请输入第" + i + "个学生的信息:");
                                System.out.println("请输入学生id:");
                                String id = sc.next();
                                Student stu = mainBanJi.searchStudentByNum(id);
                                if (stu == null) {
                                    System.out.println("该学生信息在主学生列表中不存在,请输入学生的其他信息:");
                                    System.out.println("请输入要添加的学生姓名:");
                                    String name = sc.next();
                                    Student stu1 = new Student(id, name);
                                        BanJi1.addStudent(stu1);
                                        mainBanJi.addStudent(stu1);
                                        school.addBanJi(BanJi1);
                                else {
                                    BanJi1.addStudent(stu);
                                    System.out.println("添加成功!");
                                }
                            }
                            BanJi1.displayBanJiName();
                        }
                        break;
                    case 3:
                        System.out.println("通过学号查询学生信息:");
                        System.out.println("请输入要查询的班级信息:");
                        String name = sc.next();
                        BanJi banji1 = school.searchByName(name);
                        if (banji1 == null) {
                            System.out.println("该班级不存在");
                        else {
                            System.out.println("请输入要查询的学生学号");
                            String num = sc.next();
                            if (banji1.searchStudentByNum(num) == null) {
                                System.out.println("该学生信息不存在");
                            else {
                                System.out.println(banji1.searchStudentByNum(num));
                            }
                        }
                        break;
                    case 4:
                        System.out.println("输入班级的语文成绩:");
                        System.out.println("请选择要输入的班级名称:");
                        String name1 = sc.next();
                        BanJi banji3 = school.searchByName(name1);
                        if (banji3 == null) {
                            System.out.println("该班级不存在!");
                        else {
                            for (Student stu : banji3.getStuList()) {
                                if (stu != null) {
                                    for (int i = 1; i <= banji3.getStuList().size(); i++) {
                                        System.out.println(banji3.getStuList().get(i));
                                        System.out.println("请输入学生的语文成绩");
                                        int score = sc.nextInt();
                                        banji3.insertChineseScore(banji3.getStuList().get(i).getStuNum(), score);
                                    }
                                else {
                                    System.out.println("该班级没有学生");
                                }
                            }
                        }
                        break;
                    case 5:
                        System.out.println("输入班级的数学成绩:");
                        System.out.println("请选择要输入的班级名称:");
                        String name3 = sc.next();
                        BanJi b = school.searchByName(name3);
                        if (b == null) {
                            System.out.println("该班级不存在!");
                        else {
                            for (Student stu : b.getStuList()) {
                                if (stu != null) {
                                    for (int i = 1; i <= b.getStuList().size(); i++) {
                                        System.out.println(b.getStuList().get(i));
                                        System.out.println("请输入学生的数学成绩:");
                                        int score1 = sc.nextInt();
                                        b.insertMathScore(b.getStuList().get(i).getStuNum(), score1);
                                    }
                                else {
                                    System.out.println("该班级没有学生");
                                }
                            }
                        }
                        break;
                    case 6:
                        System.out.println("删除学生信息:");
                        System.out.println("请选择要删除学生的班级名称:");
                        String name4 = sc.next();
                        BanJi banji5 = school.searchByName(name4);
                        if (banji5 == null) {
                            System.out.println("该班级不存在!");
                        else {
                            System.out.println("请输入要删除的学生学号:");
                            String stuName = sc.next();
                            banji5.deleteStudent(stuName);
                        }
                        break;
                    case 7:
                        System.out.println("显示所有学生信息:");
                        System.out.println("请输入要查询的班级名称:");
                        String name2 = sc.next();
                        BanJi banji4 = school.searchByName(name2);
                        if (banji4 == null) {
                            System.out.println("该班级不存在!");
                        else {
                            banji4.displayBanJiName();
                        }
                        break;
                    default:
                        System.out.println("该数字没有对应的操作!");
                        break;
                    }
                }
                break;
            case 2:
                while (true) {
                    td.schoolMenu();
                    System.out.println("请输入对应的数字对班级进行管理");
                    input3 = sc.nextInt();
                    if (input3 == 9) {
                        break;
                    }
                    switch (input3) {
                    case 1:
                        System.out.println("创建班级:");
                        System.out.println("请输入班级名称:");
                        String name = sc.next();
                        BanJi banji = school.searchByName(name);
                        if (banji == null) {
                            System.out.println("请输入班级编号:");
                            String num = sc.next();
                                BanJi1 = new BanJi(num, name);
                                school.addBanJi(BanJi1);
                            System.out.println("添加成功");
                        else {
                            System.out.println("该班级已存在,请勿重复创建!");
                        }
                        break;
                    case 2:
                        System.out.println("删除班级:");
                        System.out.println("请输入要删除的班级名称:");
                        String className = sc.next();
                        BanJi banji6 = school.searchByName(className);
                        if (banji6 == null) {
                            System.out.println("该班级不存在");
                        else if (className.equals("主学生列表")) {
                            System.out.println("主学生列表不能删除!");
                        else {
                            school.deleteBanJi(banji6);
                            System.out.println("删除成功!");
                        }
                        break;
                    case 3:
                        System.out.println("通过班级名称查询班级信息:");
                        System.out.println("请输入要查询的班级名称:");
                        String className1 = sc.next();
                        BanJi banji7 = school.searchByName(className1);
                        if (banji7 == null) {
                            System.out.println("该班级不存在!");
                        else {
                            banji7.displayBanJiName();
                        }
                        break;
                    case 4:
                        System.out.println("对各班语文成绩按平均分进行由大到小排序:");
                        Set<String> classSet = school.getSchoolMap().keySet();
                        boolean flag = false;
                        for (String s : classSet) {
                            if (s.equals("主学生列表")) {
                                continue;
                            else {
                                list = school.getSchoolMap().get(s).getStuList();
                                for (Student stu : list) {
                                    if (stu != null) {
                                        flag = true;
                                        break;
                                    }
                                }
                            }
                        }
                        if (flag) {
                            school.sortChineseByAverage();
                        else {
                            System.out.println("还未向班级中添加学生");
                        }
                        break;
                    case 5:
                        System.out.println("对各班数学成绩按平均分进行由大到小排序:");
                        school.sortMathByAverage();
                        break;
                    case 6:
                        System.out.println("显示所有班级名称:");
                        school.displayBanJiName();
                        break;
                    default:
                        System.out.println("该数字没有对应的操作!");
                    }
                }
                break;
            default:
                System.out.println("没有该数字对应的操作!");
                break;
            }
        }
    }
 
    public static void main(String[] args) {
        TestDemo td = new TestDemo();
        td.test();
    }
}


提问者 KLovei 2020-05-08 16:56:40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
package com.imooc.student;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
 
public class School {
    private Map<String,BanJi> schoolMap;
     
    public School(){
        schoolMap=new HashMap<String,BanJi>();
    }
 
    public Map<String, BanJi> getSchoolMap() {
        return schoolMap;
    }
 
    public void setSchoolMap(Map<String, BanJi> schoolMap) {
        this.schoolMap = schoolMap;
    }
     
    /**
     * 添加班级
     * @param banji 要添加的班级对象
     */
    public void addBanJi(BanJi banji){
        schoolMap.put(banji.getClassName(),banji);
    }
     
    /**
     * 删除班级
     * @param banji 要删除的班级对象
     */
    public void deleteBanJi(BanJi banji){
        schoolMap.remove(banji.getClassName());
    }
     
    /**
     * 通过班级名称查询班级
     * @param className 要查询的班级名称
     * @return 查询到的班级对象
     */
    public BanJi searchByName(String className){
        BanJi banji=null;
        Set<String> classSet=schoolMap.keySet();
        for(String s:classSet){
            if(s.equals(className)){
                banji=schoolMap.get(s);
                break;
            }
        }
        return banji;
    }
     
    /**
     * 对各班语文成绩按平均分进行由大到小的排序
     */
    public void sortChineseByAverage(){
        Map<String, Float> score = new HashMap<String, Float>();//定义一个Map,key存放班级名称,value存放平均成绩,假设变量名为schoolMap
        BanJi banJi = null;
        List<Student> stuList = null;
        float sum = 0.0f;
        float average = 0.0f;
        // 求各班平均分
        // 得到所有班对应的班级名称,根据名称得到班级对象
        Set<String> nameSet = schoolMap.keySet();//取得班级列表中所有key值
        //通过遍历所有key值检测班级列表中是否有班级,没有则输出"该班级没有学生!"
        if (nameSet != null) {
            //遍历班级列表中的key
            for (String s : nameSet) {
                //如果是主列表则跳出当前循环
                if(s.equals("主学生列表"))continue;
                sum = 0.0f;
                //根据key值获得value对象,取得学生对象
                banJi = schoolMap.get(s);
                //根据学生对象获取学生列表赋值stuList
                stuList = banJi.getStuList();
                //判断学生列表是否为空
                if (stuList != null) {
                    //遍历该班所有的学生信息
                    for (Student stu : stuList) {
                        //获得该班所有学生的语文成绩总和
                        sum = sum + stu.getChinese();
                    }
                    // 获取列表大小,求平均分
                    average = sum / stuList.size();
                    // 将每个班级的平均分添加到列表score中
                    score.put(banJi.getClassName(),average);
                else {
                    System.out.println("该班级没有学生!");
                }
            }
        else {
            System.out.println("还未添加班级!");
        }
         
        // 输出排序后的学生成绩(提供排序的代码)
        // 先将Map转换到List中,也就是将Map的Entry存放的List中
        List<Map.Entry<String, Float>> list = new ArrayList<Map.Entry<String, Float>>(score.entrySet());
        // 按照Map的Value值进行排序
        Collections.sort(list, new Comparator<Map.Entry<String, Float>>() {
            // 降序排序
            @Override
            public int compare(Entry<String, Float> o1, Entry<String, Float> o2) {
                // return o1.getValue().compareTo(o2.getValue());
                return o2.getValue().compareTo(o1.getValue());
            }
        });
 
        for (Map.Entry<String, Float> mapping : list) {
            System.out.println(mapping.getKey() + "语文的平均分为" + mapping.getValue());
        }
    }
     
    /**
     * 对各班数学成绩按平均分进行由大到小的排序
     */
    public void sortMathByAverage(){
        Map<String, Float> score = new HashMap<String, Float>();//定义一个Map,key存放班级名称,value存放平均成绩,假设变量名为schoolMap
        BanJi banJi = null;
        List<Student> stuList = null;
        float sum = 0.0f;
        float average = 0.0f;
        // 求各班平均分
        // 得到所有班对应的班级名称,根据名称得到班级对象
        Set<String> nameSet = schoolMap.keySet();//取得班级列表中所有key值
        //通过遍历所有key值检测班级列表中是否有班级,没有则输出"该班级没有学生!"
        if (nameSet != null) {
            for (String s : nameSet) {
                if(s.equals("主学生列表"))continue;
                sum = 0.0f;
                banJi = schoolMap.get(s);
                stuList = banJi.getStuList();
                if (stuList != null) {
                    for (Student stu : stuList) {
                        sum = sum + stu.getMath();
                    }
                    average = sum / stuList.size();
                    score.put(banJi.getClassName(), average);
                else {
                    System.out.println("该班级没有学生!");
                }
            }
        else {
            System.out.println("还未添加班级!");
        }
         
        // 输出排序后的学生成绩(提供排序的代码)
        // 先将Map转换到List中,也就是将Map的Entry存放的List中
        List<Map.Entry<String, Float>> list = new ArrayList<Map.Entry<String, Float>>(score.entrySet());
        // 按照Map的Value值进行排序
        Collections.sort(list, new Comparator<Map.Entry<String, Float>>() {
            // 降序排序
            @Override
            public int compare(Entry<String, Float> o1, Entry<String, Float> o2) {
                // return o1.getValue().compareTo(o2.getValue());
                return o2.getValue().compareTo(o1.getValue());
            }
        });
 
        for (Map.Entry<String, Float> mapping : list) {
            System.out.println(mapping.getKey() + "数学的平均分为:" + mapping.getValue());
        }
    }
     
    /**
     * 显示所有班级名称
     */
    public void displayBanJiName(){
        Set<String> keySet=schoolMap.keySet();
        for(String s:keySet){
            System.out.println(s);
        }
    }
     
    public void addBanJi(){
         
    }
}


提问者 KLovei 2020-05-08 16:56:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package com.imooc.student;
 
import java.util.ArrayList;
import java.util.List;
 
public class BanJi {
    private String classld;//班级编号
    private String className;//班级名称
    private List<Student> stuList;//存放学生的集合
     
    public BanJi(){
         
    }
 
    public BanJi(String classld, String className) {
        this.setClassld(classld);
        this.setClassName(className);
        stuList=new ArrayList<Student>();
    }
 
    public String getClassld() {
        return classld;
    }
 
    public void setClassld(String classld) {
        this.classld = classld;
    }
 
    public String getClassName() {
        return className;
    }
 
    public void setClassName(String className) {
        this.className = className;
    }
 
    public List<Student> getStuList() {
        return stuList;
    }
 
    public void setStuList(List<Student> stuList) {
        this.stuList = stuList;
    }
     
    /**
     * 将学生存放到班级
     * @param stu 要存放的学生信息
     */
    public void addStudent(Student stu){
        boolean flag=false;
        for(Student s:stuList){
            if(s.equals(stu)){
                flag=true;
                break;
            }
        }
        if(flag){
            System.out.println("该学生信息已存在,添加失败!");
        }else{
            stuList.add(stu);
        }
    }
     
    /**
     * 通过学号查询学生在班级中是否存在
     * @param stuNum 查询的学号
     * @return 查询到的学生对象
     */
    public Student searchStudentByNum(String stuNum){
        Student student=null;
        for(Student s:stuList){
            if(s.getStuNum().equals(stuNum)){
                student=s;
                break;
            }
        }
        return student;
    }
     
    /**
     * 输入班级学生的语文成绩
     * @param stuNum 学号
     * @param score 成绩
     */
    public void insertChineseScore(String stuNum,float score){
        Student stu=searchStudentByNum(stuNum);
        if(stu==null){
            System.out.println("该学生信息不存在!");
        }else{
            stu.setChinese(score);
            System.out.println("添加语文成绩成功!");
        }
    }
     
    /**
     * 输入班级学生的数学成绩
     * @param stuNum 学号
     * @param score 成绩
     */
    public void insertMathScore(String stuNum,float score){
        Student stu=searchStudentByNum(stuNum);
        if(stu==null){
            System.out.println("该学生信息不存在");
        }else{
            stu.setMath(score);
            System.out.println("添加数学成绩成功");
        }
    }
     
    /**
     * 删除学生信息
     * @param stuNum 要删除的学号
     */
    public void deleteStudent(String stuNum){
        Student stu=searchStudentByNum(stuNum);
        if(stu==null){
            System.out.println("该学生信息不存在");
        }else{
            stuList.remove(stu);
            System.out.println("删除成功");
        }
    }
     
    /**
     * 显示所有学生的信息(包括学号和姓名)
     */
    public void displayBanJiName(){
        System.out.println("班级信息列表:");
        for(Student stu:stuList){
            System.out.println(stu);
        }
    }
}


提问者 KLovei 2020-05-08 16:56:05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package com.imooc.student;
 
public class Student {
    private String stuNum;// 学号
    private String stuName;// 姓名
    private float math;// 数学成绩
    private float chinese;// 语文成绩
 
    // 无参构造
    public Student() {
 
    }
 
    // 带参构造,对全部属性赋值
    public Student(String stuNum, String stuName, float math, float chinese) {
        this.setStuNum(stuNum);
        this.setStuName(stuName);
        this.setMath(math);
        this.setChinese(chinese);
    }
     
    //双参构造,对两个属性赋值
    public Student(String stuNum, String stuName) {
        this.setStuNum(stuNum);
        this.setStuName(stuName);
    }
 
    public String getStuNum() {
        return stuNum;
    }
 
    public void setStuNum(String stuNum) {
        this.stuNum = stuNum;
    }
 
    public String getStuName() {
        return stuName;
    }
 
    public void setStuName(String stuName) {
        this.stuName = stuName;
    }
 
    public float getMath() {
        return math;
    }
 
    public void setMath(float math) {
        this.math = math;
    }
 
    public float getChinese() {
        return chinese;
    }
 
    public void setChinese(float chinese) {
        this.chinese = chinese;
    }
 
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + Float.floatToIntBits(chinese);
        result = prime * result + Float.floatToIntBits(math);
        result = prime * result + ((stuName == null) ? 0 : stuName.hashCode());
        result = prime * result + ((stuNum == null) ? 0 : stuNum.hashCode());
        return result;
    }
 
    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj.getClass() == Student.class) {
            Student stu = (Student) obj;
            return this.getStuNum().equals(stu.getStuNum()) && this.getStuName().equals(stu.getStuName())
                    && this.getMath() == stu.getMath() && this.getChinese() == stu.getChinese();
        else {
            return false;
        }
    }
 
    public String toString(String a) {
        return "[学号:" + stuNum + ", 姓名:" + stuName + ", 数学成绩:" + math + ", 语文成绩:" + chinese + "]";
    }
 
    @Override
    public String toString() {
        return "[学号:" + stuNum + ", 姓名:" + stuName  + "]";
    }
     
     
}


好帮手慕阿慧 2020-05-08 13:36:59

同学你好,添加学生信息到普通列表中:当输入的学生编号在主学生列表中存在时,应该直接添加到普通班级中,而不是添加到主学生列表中。当输入的学生编号在主学生列表中不存在时,应该将学生分别添加到主学生列表和普通班级中。请同学检查一下班级对象是否正确。

参考代码如下:

http://img1.sycdn.imooc.com//climg/5eb4efee09999f9705800328.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 KLovei #1
    老师说的这个我理解,谢谢老师。我只有一个问题可能是我没有描述清楚。就是例如我主学生列表中有四个不同的学生。我创建了一班二班两个普通班级添加学生,例如一班中加两个学生,二班中加两个学生。理论上应该呈现的是这两个普通应该有不同的两个学生,目前的情况是当我向第一班中添加两个学生,再向二班添加另外两个学生,会出现二班的学生覆盖掉一班的情况,变成二班4个学生,一班0个。麻烦老师了...
    2020-05-08 15:30:28
  • 好帮手慕阿慧 回复 提问者 KLovei #2
    同学你好,请同学贴一下代码,方便老师检查。祝学习愉快!
    2020-05-08 16:39:55
提问者 KLovei 2020-05-08 10:43:40
  • 提问者 KLovei #1
    老师这是截图
    2020-05-08 10:44:14
好帮手慕阿慧 2020-05-08 10:17:35

同学你好,同学可以先在学校管理中创建班级(如二班),再在班级管理中将主学生列表中的学生添加到班级中(如将学生a添加到二班)。主学生列表是一个包含所有学生的特殊班级,其他班级的学生需要从主学生列表添加。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 KLovei #1
    老师我的意思是,一个对象指向了一片空间,我创建两个及以上普通列表的时候,往普通列表里添加信息会覆盖掉之前的信息。麻烦老师给个思路,我想不出来。
    2020-05-08 10:41:42
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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