1.需求

  • 添加学生:通过键盘录入学生信息,添加到集合中
  • 删除学生:通过键盘录入需要删除学生的学号,将该学生对象从集合中删除
  • 修改学生:通过键盘录入需要修改学的学号,将该学生对象的其他信息进行修改
  • 查看学生:将集合中的学生对象信息进行展示
  • 退出系统:结束程序

2.代码实现

Student类 代码如下:

package StudentManger;/*学生信息:姓名,地址 */public class Student {String name;String address;int ChineseGrade;int MathGrade;int EnglishGrade;int sum;double averGrade;public int getSum() {return sum;}public void setSum(int sum) {this.sum = sum;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public int getChineseGrade() {return ChineseGrade;}public void setChineseGrade(int chineseGrade) {ChineseGrade = chineseGrade;}public int getMathGrade() {return MathGrade;}public void setMathGrade(int mathGrade) {MathGrade = mathGrade;}public int getEnglishGrade() {return EnglishGrade;}public void setEnglishGrade(int englishGrade) {EnglishGrade = englishGrade;}public double getAverGrade() {return averGrade;}public void setAverGrade(double averGrade) {this.averGrade = averGrade;}}

主类中的代码如下:

package StudentManger;import java.util.HashMap;import java.util.Scanner;import java.util.Set;public class Demo {public static void main(String[] args) {//创建hashmap集合HashMap hashMap = new HashMap();Scanner sc = new Scanner(System.in);//创建开始页面while (true){printview();System.out.println("请输入您要实现的的功能:");int data = sc.nextInt();switch (data){case 1 : setStudent(hashMap);break;case 2 : delete(hashMap);break;case 3 : Change(hashMap);break;case 4 :print01(hashMap);break;case 5 :print02(hashMap);break;case 6 : System.out.println("欢迎下次使用!");System.exit(1);}}}public static void printview(){System.out.println("----欢迎来到学生管理系统!-----");System.out.println("----请选择以下对应的功能-------");System.out.println("-------1.添加学生信息---------");System.out.println("-------2.删除学生信息---------");System.out.println("-------3.修改学生信息---------");System.out.println("-------4.通过学号查看单个学生信息(通过key显示)---------");System.out.println("-------5.查看所有学生信息------");System.out.println("-------6.退出管理系统---------");}//添加学生信息public static void setStudent(HashMap hs){Scanner sc = new Scanner(System.in);Student s = new Student();System.out.println("请输入学生的地址:");String address=sc.nextLine();s.setAddress(address);System.out.println("请输入学生的姓名:");String name = sc.nextLine();s.setName(name);System.out.println("请输入学生的学号:");Integer number = sc.nextInt();System.out.println("请输入学生的语文成绩:");Integer yuwen = sc.nextInt();s.setChineseGrade(yuwen);System.out.println("请输入学生的数学成绩:");Integer shuxue = sc.nextInt();s.setMathGrade(shuxue);System.out.println("请输入学生的英语成绩:");Integer yingyu = sc.nextInt();s.setEnglishGrade(yingyu);//计算平均成绩和总体成绩int sum = shuxue + yuwen+yingyu;double aver = sum/3;s.setSum(sum);s.setAverGrade(aver);//将学生信息存储到hashmap中hs.put(number,s);System.out.println("添加成功!");}//删除学生信息public static void delete(HashMap hs){Scanner sc = new Scanner(System.in);System.out.println("请输入您要删除学生的学号:");Integer number = sc.nextInt();if(hs.get(number)!=null){hs.remove(number);System.out.println("删除成功!");}else{System.out.println("此学生不存在!");}}//显示单个学生信息public static void print01(HashMap hs){Scanner sc = new Scanner(System.in);System.out.println("请输入您要查询的学生的学号:");Integer number = sc.nextInt();if (hs.get(number)!=null){Student s = hs.get(number);System.out.println("查询成功!");System.out.println("学号:"+number+" 姓名:"+s.getName()+" 地址:"+s.getAddress()+" 语文成绩:"+s.getChineseGrade()+" 数学成绩:"+s.getMathGrade()+" 英语成绩:"+s.getEnglishGrade()+s.getAddress()+" 成绩总和:"+s.getSum()+" 平均成绩:"+s.getAverGrade());} else{System.out.println("该学生不存在!");}}//显示所有学生信息public static void print02(HashMap hs){System.out.println("所有学生信息如下:");Set set = hs.keySet();for (Integer i :set){Student s = hs.get(i);System.out.println("学号:"+i+" 姓名:"+s.getName()+" 地址:"+s.getAddress()+" 语文成绩:"+s.getChineseGrade()+" 数学成绩:"+s.getMathGrade()+" 英语成绩:"+s.getEnglishGrade()+" 成绩总和:"+s.getSum()+" 平均成绩:"+s.getAverGrade());}}//修改学生信息public static void Change(HashMap hs){Scanner sc = new Scanner(System.in);System.out.println("请输入你要修改的学生学号:");int number = sc.nextInt();if (hs.get(number)!=null){Scanner sc1 = new Scanner(System.in);Student s = hs.get(number);System.out.println("请输入您要修改的学生的具体信息:(姓名,地址,语文成绩,数学成绩。英语成绩)");String data = sc1.nextLine();if (data.equals("姓名")){System.out.println("请输入您要修改的姓名:");String name = sc1.nextLine();s.setName(name);System.out.println("修改完成!");}else if (data.equals("地址")){System.out.println("请输入您要修改的地址:");String address = sc1.nextLine();s.setAddress(address);System.out.println("修改完成!");}else if (data.equals("语文成绩")){System.out.println("请输入您要修改的语文成绩:");int ytuwen = sc1.nextInt();s.setChineseGrade(ytuwen);System.out.println("修改完成!");}else if (data.equals("数学成绩")){System.out.println("请输入您要修改的数学成绩:");int shuXue = sc1.nextInt();s.setChineseGrade(shuXue);System.out.println("修改完成!");}else if (data.equals("英语成绩")){System.out.println("请输入您要修改的英语成绩:");int yingyu = sc1.nextInt();s.setChineseGrade(yingyu);System.out.println("修改完成!");}}else{System.out.println("该学生不存在!");}}}

部分测试如下:

—-欢迎来到学生管理系统!—–
—-请选择以下对应的功能——-
——-1.添加学生信息———
——-2.删除学生信息———
——-3.修改学生信息———
——-4.通过学号查看单个学生信息(通过key显示)———
——-5.查看所有学生信息——
——-6.退出管理系统———
请输入您要实现的的功能:
1
请输入学生的地址:
桂林电子科技大学
请输入学生的姓名:
Ken
请输入学生的学号:
01
请输入学生的语文成绩:
130
请输入学生的数学成绩:
150
请输入学生的英语成绩:
140
添加成功!
—-欢迎来到学生管理系统!—–
—-请选择以下对应的功能——-
——-1.添加学生信息———
——-2.删除学生信息———
——-3.修改学生信息———
——-4.通过学号查看单个学生信息(通过key显示)———
——-5.查看所有学生信息——
——-6.退出管理系统———
请输入您要实现的的功能:
5
所有学生信息如下:
学号:1 姓名:Ken 地址:桂林电子科技大学 语文成绩:130 数学成绩:150 英语成绩:140 成绩总和:420 平均成绩:140.0
—-欢迎来到学生管理系统!—–
—-请选择以下对应的功能——-
——-1.添加学生信息———
——-2.删除学生信息———
——-3.修改学生信息———
——-4.通过学号查看单个学生信息(通过key显示)———
——-5.查看所有学生信息——
——-6.退出管理系统———
请输入您要实现的的功能:
4
请输入您要查询的学生的学号:
01
查询成功!
学号:1 姓名:Ken 地址:桂林电子科技大学 语文成绩:130 数学成绩:150 英语成绩:140桂林电子科技大学 成绩总和:420 平均成绩:140.0
—-欢迎来到学生管理系统!—–
—-请选择以下对应的功能——-
——-1.添加学生信息———
——-2.删除学生信息———
——-3.修改学生信息———
——-4.通过学号查看单个学生信息(通过key显示)———
——-5.查看所有学生信息——
——-6.退出管理系统———
请输入您要实现的的功能:
6
欢迎下次使用!