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
| package com.hycc.school;
import java.util.*;
public class StudentSystem implements StudentInterface{ //使用hashMap保存所有的学生信息,容器中的Enter的key是学号,value就是学号对应的学生对象 private Map<Integer,Student> students = new HashMap<>(); private Scanner scanner = new Scanner(System.in); public void welcome() { System.out.println("***********欢迎来到学生管理系统************"); System.out.println("系统初始化成功......"); } public void exit() { System.out.println("****************谢谢使用本管理系统****************"); } /** * 显示系统菜单 */ public void showMenu() { System.out.println("\n操作菜单内容:"); 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-->退出系统"); } //遍历所有学生信息 @Override public void showAll() { //得到所有的学号 Set<Integer> sids = students.keySet(); Iterator<Integer> iterator = sids.iterator(); while(iterator.hasNext()) { Integer sid = iterator.next(); Student student = students.get(sid); System.out.println(student); } } /* * 添加学生信息 * @return 添加成功,返回true,否则false */ @Override public boolean addStudent() { // System.out.println("请输入学生学号,要求整数:"); // int sid = scanner.nextInt(); int sid = MyUtil.getInputNumber("请输入学生学号,要求是整数:", scanner); String name = MyUtil.getInputString("请输入学生姓名:", scanner); int age=MyUtil.getInputNumber("请输入学生年龄:", scanner); Gender gender = MyUtil.getInputString("请输入学生性别:男 or 女", scanner).equals("男")?Gender.男:Gender.女; Student s = new Student(sid,name,sid,gender); students.put(sid,s); System.out.println("添加学生成功!"); return false; } /** * 根据学号查找学生 */ @Override public Student findStuBySid(int sid) { Student student = students.get(sid); if(student != null) { System.out.println(student); }else { System.out.println("该学生不存在!"); } return student; } public Student findStuBySid() { int sid = MyUtil.getInputNumber("请输入要查找的学生的学号:", scanner); return findStuBySid(sid); } /* * 根据名字查找学生 * @param name * @return 返回所有该名字为name的学生列表,若不存在返回null */ @Override public List<Student> findStusByName(String name) { List<Student> list = new ArrayList<>(); //遍历所有的学生,然后和name逐个比较 Collection<Student> stus = students.values(); Iterator<Student> iterator= stus.iterator(); while(iterator.hasNext()) { Student student = iterator.next(); if(student.getName().equals(name)) { list.add(student); } } return list.size() == 0?null : list; } public void findStusByName(){ String name = MyUtil.getInputString("请输入要查找的学生的姓名:", scanner); List<Student> stus = findStusByName(name); if(stus==null) { System.out.println("该姓名的学生不存在!"); }else { //打印所有学生信息 System.out.println("查找到的学生信息如下:"); for(int i=0;i<stus.size();i++) { System.out.println(stus.get(i)); } } } /* * 根据学号删除 *@param sid *@return 删除成功,返回true;否则false */ @Override public boolean removeStuBySid(int sid) { Student student = students.remove(sid); return student==null?false:true; } public void removeStuBySid() { int sid = MyUtil.getInputNumber("请输入要删除的学生的学号:", scanner); boolean bool = removeStuBySid(sid); if(true) { System.out.println("删除学生成功!"); }else { System.out.println("该学生不存在!"); } }
/** * 根据学号修改学生 * @param sid * @return 修改成功返回true;否则false */ @Override public boolean modifyStuBySid(int sid) { Student student = students.get(sid); if(student!=null) { sid = MyUtil.getInputNumber("请输入新的学生学号,要求是整数:", scanner); String name = MyUtil.getInputString("请输入新的学生姓名:", scanner); int age=MyUtil.getInputNumber("请输入新的学生年龄:", scanner); Gender gender = MyUtil.getInputString("请输入新的学生性别:男 or 女", scanner).equals("男")?Gender.男:Gender.女; student.setAge(age); student.setName(name); student.setGender(gender); student.setSid(sid); } return student == null?false:true; } public void modifyStuBySid() { int sid = MyUtil.getInputNumber("请输入要修改的学生的学号:", scanner); boolean bool = modifyStuBySid(sid); if(bool) { System.out.println("修改学生信息成功!"); }else { System.out.println("学生不存在!"); } } }
|