添加成功后显示所有信息 显示不出来
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(); Scanner sc = new Scanner(System.in); School s = new School(); // 创建一个主学生列表 Banji mainBanji = new Banji("c001", "主学生列表"); // 创建一个普通班级 Banji twoBanji = null; int input1 = 0, input2 = 0, input3 = 0; while (true) { td.mainMenu(); System.out.println("请输入指定的数字进行操作"); try { input1 = sc.nextInt(); } catch (InputMismatchException e) { System.out.println("输入错误请输入指定的数字进行操作"); sc.next(); continue; } if (input1 == 0) { break; } switch (input1) { case 1: while (true) { td.schoolMenu(); System.out.println("请输入指定的数字进行操作"); try { input2 = sc.nextInt(); } catch (InputMismatchException e) { System.out.println("输入错误请输入指定的数字进行操作"); sc.next(); continue; } if (input2 == 9) { break; } switch (input2) { case 1: //先看添加的班级是否存在 System.out.println(" 1--创建班级 "); System.out.println("请输入要添加的班级编号"); String strId1=sc.next(); System.out.println("请输入要添加的班级名称"); String strName1=sc.next(); twoBanji=s.searchByName(strId1); if(twoBanji==null) { twoBanji=new Banji(strId1,strName1); s.addClass(twoBanji); }else{ System.out.println("输入的班级已经存在,请不要重复添加"); } break; case 2: System.out.println(" 2--删除班级 "); System.out.println("请输入要删除班级的名称"); String str2=sc.next(); Banji banji2=s.searchByName(str2); if(banji2==null) { System.out.println("没有找到该列表请重新输入"); break; }else{ s.deleteStudent(banji2); } break; case 3: System.out.println(" 3--通过班级名称查询班级信息 "); System.out.println("请输入想查询的班级名称"); String str3=sc.next(); Banji banji3=s.searchByName(str3); if(banji3==null) { System.out.println("学校里没有该班级"); }else { banji3.displayAllStudent(); } break; case 4: System.out.println(" 4--对各班语文成绩按平均分进行由大到小排序 "); System.out.println(); break; case 5: System.out.println(" 5--对各班数学成绩按平均分进行由大到小排序 "); break; case 6: System.out.println(" 6--显示所有班级名称 "); break; } } break; case 2: while (true) { td.banjiMenu(); System.out.println("请输入指定的数字进行操作"); try { input3 = sc.nextInt(); } catch (InputMismatchException e) { System.out.println("输入错误请输入指定的数字进行操作"); sc.next(); continue; } if (input3 == 9) { break; } switch (input3) { case 1: System.out.println(" 1--添加学生信息到主学生列表 "); System.out.println("请输入想添加学生信息的数量"); int count1=0; try{count1=sc.nextInt();} catch(InputMismatchException e) { System.out.println("输入错误请输入正确的数字"); sc.next(); continue; } for(int i=1;i<=count1;i++) { System.out.println("请输入第"+i+"个学生的Id"); String strId1=sc.next(); System.out.println("请输入学生的姓名"); String strName1=sc.next(); Student stu1=new Student(strId1,strName1); mainBanji.addStudent(stu1); } break; case 2: System.out.println(" 2--添加学生信息到普通班级 "); System.out.println("请输入想要添加学生信息的班级名字"); String strBanjiName2=sc.next(); Banji banji2=s.searchByName(strBanjiName2); if(banji2==null) { System.out.println("学校里没有这个班级请重新输入"); }else { System.out.println("请输入想添加学生的数量"); int count2=0; try{count2=sc.nextInt();} catch(InputMismatchException e) { System.out.println("请输入正确的数字进行操作"); sc.next(); continue; } for(int i=1;i<=count2;i++) { System.out.println("请输入第"+i+"个学生的ID"); String strId2=sc.next(); Student stu=mainBanji.searchStuById(strId2); if(stu==null) { System.out.println("该学生自动添加到主学生列表,请继续输入"); System.out.println("请输入学生的名字"); String strName2=sc.next(); Student stu2=new Student(strId2,strName2); mainBanji.addStudent(stu2); twoBanji.addStudent(stu2); } else { twoBanji.addStudent(mainBanji.getStuList().get(i)); } } } break; case 3: System.out.println(" 3--通过学号名称查询学生信息 "); System.out.println("请输入想查询学生所在的班级"); String str3=sc.next(); Banji b3=s.searchByName(str3); if(b3==null) { System.out.println("学校里没有该班级,请重新操作"); break; }else { System.out.println("请输入想查询学生的学号"); String strId3=sc.next(); Student stu3=b3.searchStuById(strId3); if(stu3==null) { System.out.println("该班没有这个学生"); break; }else { System.out.println(b3.searchStuById(strId3)); } } break; case 4: System.out.println(" 4--输入班级的语文成绩 "); System.out.println("请输入想添加语文成绩的班级名称"); String str4=sc.next(); Banji b4=s.searchByName(str4); if(b4==null) { System.out.println("该学校没有这个班级,请重新输入"); }else { for(Student s1:b4.getStuList()) { System.out.println(b4.searchStuById(s1.getStuNum())); System.out.println("请输入学生的语文成绩"); float strScore4=sc.nextFloat(); s1=new Student(s1.getStuNum(),s1.getStuName()); b4.inputStuChinese(s1.getStuNum(), strScore4); } } break; case 5: System.out.println(" 5--输入班级的数学成绩 "); break; case 6: System.out.println(" 6--删除学生信息 "); break; case 7: System.out.println(" 7--显示所有学生信息"); System.out.println("请输入查询班级的名称"); String banji7=sc.next(); Banji ban7=s.searchByName(banji7); if(ban7==null) { System.out.println("学校里没有这个班级"); }else { ban7.displayAllStudent(); } break; } } break; default: System.out.println("请输入指定的数字进行操作"); break; } } }
public Banji(String classId,String classNum) { this.classId=classId; this.className=classNum; stuList=new ArrayList<Student>(); } public String getClassId() { return classId; } public void setClassId(String classId) { this.classId = classId; } public String getClassNum() { return className; } public void setClassNum(String classNum) { this.className = classNum; } 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.getStuNum().equals(stu)) { flag=true; break; } } if(flag) { System.out.println("你添加的学生已经存在请不要重复添加"); }else { stuList.add(stu); } } /** * 通过学号查询学生信息 * @param stuNum 要查询学生的学号 * @return 要查询的学生信息 */ public Student searchStuById(String stuNum) { Student stu=null; for(Student s:stuList) { if(s.getStuNum().equals(stuNum)) { stu=s; } } return stu; } /** * 输入班级学生的数学成绩 * @param stuNum 学号 * @param score 输入的成绩 */ public void inputStuMath(String stuNum,float score) { Student stu=searchStuById(stuNum); if(stu==null) { System.out.println("没有找到该学生"); }else { stu.setMath(score); } } /** * 显示班级信息 */ public String toString() { return "班级信息 [班级Id为:" + classId + ",班级名字为:" + className + "]"; } /** * 输入班级学生的语文成绩 * @param stuNum 学号 * @param score 输入的成绩 */ public void inputStuChinese(String stuNum,float score) { Student stu=searchStuById(stuNum); // System.out.println(stu); // if(stu==null) { // System.out.println("没有找到该学生"); // }else { stu.setChinese(score); System.out.println("添加成功"); // } } /** * 删除学生信息 * @param stuNum 需要删除的学生的学号 */ public void deleteStudent(String stuNum) { Student stu=searchStuById(stuNum); if(stu==null) { System.out.println("没有找到该学生"); }else { stuList.remove(stu); System.out.println("删除成功"); } } /** * 显示所有学生信息 */ public void displayAllStudent() { for(Student s:stuList) { System.out.println(s); } } }
17
收起
正在回答 回答被采纳积分+1
1回答
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星