当前位置: 首页 > article >正文

利用HashMap设计学生管理系统

package testmap;

import com.sun.applet2.AppletParameters;

import java.util.*;

public class TestHashMap7 {
    public static void main(String[] args) {
        /*定义学生类:属性为学号-num、姓名、年龄、成绩
           根据操作选项完成以下操作:输入以下数据完成对应的操作
        *  1. 利用 HashMap存储学生信息,用学号作为-key;学生信息作为-value
        *  2. 打印输出集合中所有的学生信息
           3. 输入一个学生,查询对应的学生信息
           4. 输入一个成绩score,打印输大于该成绩的所有信息
        * */
        studentProject project = new studentProject();
        project.menue();
        }
    }
    class studentProject{
        private HashMap<Integer,student> map = new HashMap<>();
        private Scanner sc = new Scanner(System.in);
        public void menue(){
            int select ;
            do{
                System.out.println("欢迎进入简易学生系统管理,您可以选择的操作如下:");
                System.out.println("1.添加学生(添加一个,能力允许的同学扩充:可以添加多个)");
                System.out.println("2.展示所有学生信息  3.输入学生姓名,展示学生信息");
                System.out.println("4.输入学号,展示对应的学生信息");
                System.out.println("5.输入成绩score,展示大于该成绩的学生信息");
                System.out.println("6.将map中的学生信息进行永久性存储(利用IO写入到文件中,格式 100/赵丽颖/18/99.0)-选做");
                System.out.println("7.退出系统");
                System.out.println("欢迎进入简易学生系统管理,您可以选择的操作如下:");
                select = sc.nextInt();
                switch (select){
                    case 1: addstudent();break;
                    case 2: showAll();break;
                    case 3: selectByName();break;
                    case 4: selectByNum();break;
                    case 5: selectByScore();break;
                    case 6: saveStudentToFile();break;
                    case 7:
                        System.out.println("退出系统,欢迎下次使用!!!");break;
                    default: System.out.println("输入不合法,请重新输入");
                }
            }while (select!=7);
        }
        private void addstudent(){
            System.out.println("添加学生信息:");
            System.out.println("输入学号:");
            Integer num = sc.nextInt();
            System.out.println("输入姓名:");
            String name= sc.next();
            System.out.println("输入年龄:");
            int age = sc.nextInt();
            System.out.println("输入成绩:");
            Double score = sc.nextDouble();
            student stu = new student(num,name,age,score);
            map.put(num,stu);

        }
        private void showAll(){
            Set<Integer> ks= map.keySet();
            for(Integer s:ks){
                student stu=map.get(s);
                System.out.println(stu);
            }

        }
        private void selectByName(){
            System.out.println("请输入学生姓名:");
            String name = sc.next();
            Collection<student> cs = map.values();
            for (student s : cs) {
                if (name.equals(s.getName())) {
                    System.out.println(s);
                }
            }

        }
        private void selectByNum(){
            System.out.println("请输入学生学号:");
            Integer num = sc.nextInt();
            if (map.containsKey(num)) {
                student s = map.get(num);
                System.out.println(s);
            } else {
                System.out.println("未找到该学号的学生!");
            }
        }
        private void selectByScore(){
            System.out.println("请输入成绩:");
            Double score = sc.nextDouble();
            for (student s : map.values()) {
                if (score> s.getScore()) {
                    System.out.println(s);
                }
            }
        }
        private void saveStudentToFile(){
            System.out.println("将Map中的学生信息永久性储存");
        }
    }
// 学生类根据要求完成,并封装
class student{
    private Integer num;
    private String name;
    private int age;
    private Double score;

    public student() {
    }

    public student(Integer num, String name, int age, Double score) {
        this.num = num;
        this.name = name;
        this.age = age;
        this.score = score;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    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 Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }
}

http://www.kler.cn/a/443855.html

相关文章:

  • 使用PyInstaller打包时出现的问题
  • Docker_常用命令详解
  • MySQL 主从复制与高可用
  • 常用Python自动化测试框架有哪些?
  • Leetcode Hot 100 【二叉树】104. 二叉树的最大深度
  • 多智能体/多机器人网络中的图论法
  • 云原生是什么
  • 消息系统之 Kafka
  • 初始Python篇(10)—— 初识 类与对象
  • Flask入门:打造简易投票系统
  • 项目管理工具Maven(一)
  • 《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(20):口令和PEB算法
  • java list 和数组互相转换的一些方法
  • Envoy 进阶指南(下):深入探究Envoy服务和架构
  • iOS在项目中设置 Dev、Staging 和 Prod 三个不同的环境
  • 开发基于 Streamlit 和 OpenAI 大模型的 Chatbot App:支持图片的多模态输入项目代码结构优化分析
  • Redis篇-19--运维篇1-主从复制(主从复制,读写分离,配置实现,实战案例)
  • Latex+VsCode+Win10搭建
  • ANPC三电平拓扑:两种调制方式解析
  • spring mvc优劣势分析
  • Z240006Java+ssm+mysql协同办公OA自动化办公系统的设计与实现(附源码 配置 文档)
  • 解决Windows无法连接到L2TP/IPsec VPN
  • PySide6程序框架设计
  • latex中复制到word里面之后如何转变成word自带的公式
  • 解析Java中的Stream API:函数式编程与性能优化
  • Java-27 深入浅出 Spring - 实现简易Ioc-03 在上节的业务下手动实现IoC