利用HashMap制作简单的在线教学系统

制作一个在线教学系统,通过控制台录入,学生信息要保存到HashMap,有如下功能:

1、增加学生信息
2、删除学生信息
3、修改学生信息
4、根据学号查看学生信息
5、查看成绩排行榜
6、退出系统功能

首先创建一个Student类
package hashmap;

public class Student {
    private String id;
    private String name;
    private double score;

    public Student(String id, String name, double score) {
        this.id = id;
        this.name = name;
        this.score = score;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getScore() {
        return score;
    }

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

    // toString方法,方便打印学生信息
    @Override
    public String toString() {
        return "学生的" +
                "id是'" + id + '\'' +
                ", 名字是'" + name + '\'' +
                ", 成绩是" + score ;
    }
}

创建一个TeachSystem类

package hashmap;
import java.util.*;

public class TeachSystem {

        private HashMap<String, Student> students;

        public TeachSystem() {
            students = new HashMap<>();
        }

        // 增加学生信息
        public void addStudent(String id, String name, double score) {
            if (!students.containsKey(id)) {
                students.put(id, new Student(id, name, score));
                System.out.println("添加成功");
            } else {
                System.out.println("该学生已经存在");
            }
        }
    public String removeStudent(String id) {
        Student student = students.get(id);
        if (student!=null) {
            students.remove(id);
            return "删除成功";
        } else {
            return "该学生不存在";
        }
    }


    public void LookStudent(String id) {
        Student student = students.get(id);
        if (student!=null) {
            System.out.println(student);
        } else {
            System.out.println("学生不存在");
        }
    }
    public void Rank() {
        System.out.println("成绩降序排名如下:");

        List<Map.Entry<String, Student>> sortedStudents = new ArrayList<>(students.entrySet());

        sortedStudents.sort((entry1, entry2) -> Double.compare(entry2.getValue().getScore(), entry1.getValue().getScore()));

        for (Map.Entry<String, Student> entry : sortedStudents) {
            System.out.println(entry.getValue());
        }
    }


}

创建一个test类

package hashmap;
import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        TeachSystem system = new TeachSystem();
        System.out.println("欢迎来到教学系统,请按下方提示继续操作");
        messsage();

        while (true){
            int x=sc.nextInt();
            if(x==1){
                System.out.println("请输入学生的学号: ");
                String id = sc.next();
                System.out.println("请输入学生的姓名: ");
                String name = sc.next();
                System.out.println("请输入学生的得分: ");
                double score = sc.nextDouble();
                system.addStudent(id, name, score);
                messsage();
            }
            if(x==2){
                System.out.println("请输入要删除的学生的学号: ");
                    String id = sc.next();

                String m =system.removeStudent(id);
                if(m.equals("删除成功")){
                    System.out.println("删除成功");
                }else
                {System.out.println("该学生不存在");}
                messsage();
            }
            if(x==3){
                System.out.println("请输入要修改的学生的学号: ");
                String id1 = sc.next();
                String m =system.removeStudent(id1);
                if(m.equals("删除成功")){
                System.out.println("请输入修改后的学生的学号: ");
                String id = sc.next();
                System.out.println("请输入修改后的学生的姓名: ");
                String name = sc.next();
                System.out.println("请输入修改后的学生的得分: ");
                double score = sc.nextDouble();
                system.addStudent(id, name, score);}
                else
                {System.out.println("该学生不存在");}
                messsage();
            }
            if(x==4){
                System.out.println("请输入要查看的学生信息的学生的学号: ");
                String id = sc.next();
                System.out.print("您要查找的");
                system.LookStudent(id);
                messsage();
            }
            if(x==5){
                    system.Rank();
                    messsage();
            }
            if(x==6){System.out.println("退出成功");
            break;
                }
        }
    }
    public static void messsage(){
        System.out.println("1、增加学生信息 \n" +
                "2、删除学生信息 \n" +
                "3、修改学生信息 \n" +
                "4、根据学号查看学生信息\n" +
                "5、查看成绩排行榜 \n" +
                "6、退出系统\n"+"请输入您要查找的内容前面的序号");
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值