文章目录

  • 一、功能需求
  • 二、代码框架
  • 三、代码
    • 1.学生类 Student.java
    • 2.学生管理类 StudentManage.java
    • 3.主程序 StudentMain.java
  • 四、运行结果
    • 1.添加学生功能
    • 2.查找学生功能
    • 3.根据编号更新学生基本信息功能
    • 4.根据学生编号删除学生功能
    • 5.根据学生编号录入学生各门成绩
    • 6.退出系统

一、功能需求

case 10:添加学生
case 11:查找一个学生
case 12:根据编号更新学生基本信息
case 13:根据编号删除学生
case 14:根据编号录入成绩
case 99:退出系统

二、代码框架

一共有三个文件:
1、Student.java(学生类) //学生的基本信息
2、StudentManage.java(学生管理类) //用于对学生集合操作
3、StudentMain.java(主程序)

三、代码

下面为具体的代码:

1.学生类 Student.java

package com.studentlist.test;/*** 学生类*/
public class Student {private int number;private String name;private int age;private int python;private int java;private int linux;private int sql;private int sum;private double avg;Student(int number ,String name,int age){this.number=number;this.name=name;this.age=age;}public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getPython() {return python;}public void setPython(int python) {this.python = python;}public int getJava() {return java;}public void setJava(int java) {this.java = java;}public int getLinux() {return linux;}public void setLinux(int linux) {this.linux = linux;}public int getSql() {return sql;}public void setSql(int sql) {this.sql = sql;}public int getSum() {return sum;}public void setSum() {this.sum = this.python+this.java+this.linux+this.sql;}public double getAvg() {return avg;}public void setAvg() {this.avg = (double)this.sum/4;}public String toString(){String msg="\t\t"+this.number+"\t\t"+this.name+"\t\t"+this.age+"\t\t"+this.python+"\t\t"+this.java+"\t\t"+this.linux+"\t\t"+this.sql+"\t"+this.sum+"\t"+this.avg;return msg;}
}

2.学生管理类 StudentManage.java

package com.studentlist.test;
import java.util.HashMap;
import java.util.Iterator;/*** 学生管理类,实现增删改查*/
public class StudentManage {private HashMap map=null;String msg="\t\t学号\t\t姓名\t\t年龄\t\tpython\tjava\tlinux\tsql\tsum\tavg";StudentManage(){map=new HashMap();}public void menu(){System.out.println("-----请选择你要执行的功能-----");System.out.println("10:添加一个学生");System.out.println("11:查找一个学生");System.out.println("12:根据学号更新学生基本信息");System.out.println("13:根据学号删除学生");System.out.println("14:根据学生编号输入学生各门成绩");System.out.println("99:退出系统");System.out.println("----------------------------");}//显示所有学生信息public void showStu(){if(map.size()==0) {System.out.println("没有学生");}else{System.out.println("一共有"+map.size()+"个学生");System.out.println(msg);Iterator it=map.keySet().iterator(); //取出所有的keywhile(it.hasNext()){ //是否有下一个keyint key=Integer.parseInt(it.next().toString()); //取出下一个keyStudent stu=(Student)map.get(key);System.out.println(stu);}}}//10:添加一个学生public void addStu(Student stu){int key=stu.getNumber();map.put(key,stu);System.out.println("添加学生成功");showStu();}//11:查找一个学生public void selectStu(int num){if(map.containsKey(num)){System.out.println(msg);Student stu=(Student)map.get(num);System.out.println(stu);}else{System.out.println("没有这个学号的学生");}}//12:根据学号更新学生基本信息public void updateStu(int number,String name,int age){if(map.containsKey(number)){Student stu=(Student)map.get(number);stu.setName(name);stu.setAge(age);System.out.println("学生信息更新成功");showStu();}else{System.out.println("没有这个学号的学生");}}//13:根据学号删除学生public void deleteStu(int number){if(map.containsKey(number)){map.remove(number);System.out.println("学生删除成功");showStu();}else{System.out.println("没有这个学号的学生");}}//14:根据学号输入学生各门成绩public void input(int number,int python,int java,int linux,int sql){if(map.containsKey(number)){Student stu=(Student)map.get(number);stu.setPython(python);stu.setJava(java);stu.setLinux(linux);stu.setSql(sql);stu.setSum();stu.setAvg();System.out.println("学生成绩录入成功");showStu();}else{System.out.println("没有这个学号的学生");}}}

3.主程序 StudentMain.java

package com.studentlist.test;import java.io.BufferedReader;
import java.io.InputStreamReader;/*** 主类*/
public class StudentMain {public static void main(String[] args) throws Exception{StudentManage manage=new StudentManage();BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));while (true){manage.menu();int no=Integer.parseInt(bf.readLine());switch (no){case 10://10:添加学生System.out.println("请输入学号");int num=Integer.parseInt(bf.readLine());System.out.println("请输入姓名");String name=bf.readLine();System.out.println("请输入年龄");int age=Integer.parseInt(bf.readLine());Student stu=new Student(num,name,age);manage.addStu(stu);break;case 11://11:查找学生System.out.println("请输入你要查找的学号");int num1=Integer.parseInt(bf.readLine());manage.selectStu(num1);break;case 12://12:更新学生信息System.out.println("请输入你要更新的学生的学号");int num2=Integer.parseInt(bf.readLine());System.out.println("请输入新的姓名");String name2=bf.readLine();System.out.println("请输入新的年龄");int age2=Integer.parseInt(bf.readLine());manage.updateStu(num2,name2,age2);break;case 13://13:根据学号删除学生System.out.println("请输入删除的学生的学号");int num3=Integer.parseInt(bf.readLine());manage.deleteStu(num3);break;case 14://14:根据学生编号输入学生各门成绩System.out.println("请输入学号");int num4=Integer.parseInt(bf.readLine());System.out.println("请输入python成绩");int python=Integer.parseInt(bf.readLine());System.out.println("请输入java成绩");int java=Integer.parseInt(bf.readLine());System.out.println("请输入Linux成绩");int linux=Integer.parseInt(bf.readLine());System.out.println("请输入sql成绩");int sql=Integer.parseInt(bf.readLine());manage.input(num4,python,java,linux,sql);break;case 99://99:退出系统System.exit(0);break;default:System.out.println("请重新输入");}}}}

四、运行结果

1.添加学生功能

2.查找学生功能

3.根据编号更新学生基本信息功能

4.根据学生编号删除学生功能

5.根据学生编号录入学生各门成绩

6.退出系统

java实现学生管理系统(集合HashMap实现)-学号唯一相关推荐

  1. java编写学生管理系统_Java实现学生管理系统

    导读热词 项目描述:通过管理员帐号登录,对学员信息进行管理.可以实现学员信息的增加.修改.删除.查询. 知识点:数组.do{}while循环.for循环.if语句.switch条件语句 学生管理系统的 ...

  2. Java实现学生管理系统(完整代码)

    案例需求 完成一个综合案例:学生管理系统!该系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 修改学生:通过键盘录入要 ...

  3. 用java实现学生管理系统

    需求:完成一个学生管理系统,具体功能如下: 通过键盘录入实现,查看学生.添加学生.删除学生.修改学生,完成操作后退出系统 实现思路:先定义一个标准类用来定义学生的基本属性,基本属性[学号.姓名.年龄. ...

  4. JAVA实现——学生管理系统

    实现一个学生信息管理系统: 1.学生的信息至少包括:身份证号.学号.姓名.成绩 2.学生的身份证号.学号.姓名可在对象诞生时初始化,也可以在对象诞生后赋值: 3.包含如下功能: (1)学生信息存储:从 ...

  5. 【Java实现学生管理系统】

    在你要写一个项目的时候首先要做的是 "项目分析" 即此项目要实现的功能,然后再去一步一步的完善功能. 注:下面的代码存在一定的功能缺陷以及异常没有完善,但是所有的功能都能使用. 已 ...

  6. Java mysql学生管理系统(简易)源

    学校要求搞了一个小项目.实习生写的代码还有很多不足,但是基本功能都实现 懂得都懂,还缺少优化!各位可以自己加功能 (想要完整代码直接拖到下面复制) 1.第一步搭建mysql 首先我是采用了小皮面板8. ...

  7. java ee学生管理系统_基于JAVAEE的学生管理系统

    [实例简介] 基于JAVAEE的学生管理系统,配合oracle与glassfish使用即可 [实例截图] [核心代码] students-information-management-system-m ...

  8. java swing 学生管理系统数据库CRUD操作解析

    Java学生管理系统程序,很常见的一个程序,因为流程简单,很受java新手喜欢,很适合学习练手,尤其是数据库操作,这里我们看看具体怎么做?连接Access数据库,这里我直接给出操作代码,可以直接拿来用 ...

  9. 中南林业科技大学Java实验报告十二:数据库系统设计 - 从0到1搭建java可视化学生管理系统源代码

    文章目录 实验12 数据库系统设计 12.1 实验目的 12.2 实验内容 12.2.1 设计一个数据库Student,包含成绩表Score,其中属性包含学号,姓名,专业,班级,平均成绩.字段名和类型 ...

最新文章

  1. python list 删除元素
  2. 计算机专业英语文章翻译,计算机专业英语英汉双语文章翻译
  3. 独家 | 改善AI性别偏见的4种方法
  4. 美国大学录取时如何考察学生的背景
  5. mysql和sql互导_Mysql和SqlServer互相转换
  6. 成功解决ImportError: [joblib] Attempting to do parallel computing without protecting your import on a sy
  7. DL for Vision:A Tutorial with Caffe 报告笔记
  8. 模板的日常~。~。。。(持续更新中...)
  9. c语言程序设计实验周信东指针,C语言程序设计实验4 数组 周信东
  10. 线段树(单点更新) HDOJ 4288 Coder
  11. oracle查询锁表进程
  12. html桌面天干地支,天干地支-janlen-ChinaUnix博客
  13. opencv之subtract
  14. 自编译最新稳定版 128M NAND WNDR4300V1 Openwrt Lean固件
  15. 钢条切割(记忆型递归)dp
  16. storj主网挖矿指南
  17. 清华大学(深圳)吕帅课题组招收计算机领域博士后
  18. 为何概述(翻译)CS229这个系列
  19. 自动驾驶-自适应卡尔曼滤波AKF
  20. 圆周率 php算法,PHP坐标圆周率计算

热门文章

  1. Memcached对象缓存详解
  2. 大牧絮叨设计模式:抽象工厂模式
  3. IOS——MD5加密
  4. android版本过高导致下载软件后无法自动安装
  5. 光隔离器的工作原理及其应用
  6. 【电路补习笔记】9、电容式开关电源(电荷泵)
  7. ssm整合开发 动力节点王鹤版本
  8. MySQL传智测试第四章答案_2020高校邦《MySQL数据库基础》免费答案2020知到《创业管理(浙江财经大学使用)》单元测试答案...
  9. 第一次更名为OpenInfra的“她”,给我们带来了哪些惊喜?
  10. python3程序设计基础答案刘德山_北京大学出版社《Java程序设计案例教程》答案【python程序设计案例教程微课版答案】...