JAVA成绩管理系统

一、Main

package StudentsManage;

import java.util.Scanner;//通过 Scanner 类来获取用户的输入

public class Main {

    static int index = 0;
    //最多存储100个学生
    static Students [] students = new Students[100];

    public static void main(String[] args) {

        System.out.println("欢迎使用学生成绩管理系统");

        //死循环
        for(;;) {
            information();
        }
    }

    public static void information() {
        System.out.println("1、添加学生成绩");
        System.out.println("2、删除学生成绩");
        System.out.println("3、修改学生成绩");
        System.out.println("4、查询学生成绩");
        System.out.println("5、退出系统");

        System.out.println("请输入操作项:");
        Scanner in = new Scanner(System.in);//输入、赋值给in
        int op = in.nextInt();

        switch (op) {
            //添加学生成绩
            case 1:{
                if(index>students.length-1) {	//判断是否满员
                    System.out.println("学生成绩录入已满");
                    return;
                }
                System.out.println("输入添加的学生信息:");
                Students student = new Students();
                System.out.println("请输入学号:");
                String id = in.next();
                student.setId(id);
                if(index>0) {
                    for (Students stu : students) {
                        if(stu == null) {	//当某个位置为null时,其后的位置都为null,不用再查找了
                            break;
                        }
                        if(stu.getId().equals(student.getId())) //判断学号是否重复
                        {
                            System.out.println("学号重复,请重新输入学号:");
                            student.setId(in.next());
                            break;
                        }
                    }
                }
                System.out.println("请输入姓名:");
                student.setName(in.next());
                System.out.println("请输入该学生的高数成绩:");
                student.setMath(in.nextDouble());
                System.out.println("请输入该学生的java成绩:");
                student.setJava(in.nextDouble());
                System.out.println("请输入该学生的英语成绩:");
                student.setEnglish(in.nextDouble());

                students[index] = student;	//把学生的信息依次填入数组中
                index++;
                System.out.println("添加成功");
                break;
            }
            //删除学生成绩
            case 2:{
                System.out.println("请输入要删除学生的学号:");
                String id = in.next();
                System.out.println("请输入要删除的学生的姓名:");
                String name=in.next();

                index=0;
                for(Students student:students) {
                    if(student == null) {
                        break;
                    }
                    //找到要删除的学生
                    if(student.getId().equals(id)&&student.getName().equals(name)) {
                        while(index<students.length-1) {
                            students[index] = students[index+1]; //把要删除学生其后的学生依次向前移一位
                            index++;
                        }
                        students[students.length-1] = null; //最后一个学生向前移一位了,所以最后一位就是null
                        System.out.println("删除成功,已返回!");
                        return;
                    }
                    index++;
                }

                System.out.println("未找到学号为"+id+"的学生,无法删除");
                return;
            }
            //修改学生成绩
            case 3:{
                System.out.println("请输入要修改的学生的学号:");
                String id = in.next();
                System.out.println("请输入要修改的学生的姓名:");
                String name=in.next();

                for(Students student:students) {
                    if(student == null) {
                        break;
                    }
                    //姓名和学号都拼配就可以修改了
                    if(student.getId().equals(id)&&student.getName().equals(name)) {
                        System.out.println("请输入新的姓名:");
                        student.setName(in.next());
                        System.out.println("请输入新的学号:");
                        student.setMath(in.nextDouble());
                        System.out.println("请输入新的高数成绩:");
                        student.setMath(in.nextDouble());
                        System.out.println("请输入新的Java成绩:");
                        student.setJava(in.nextDouble());
                        System.out.println("请输入新的英语成绩:");
                        student.setEnglish(in.nextDouble());
                        System.out.println("修改成功,已返回!");
                        return;
                    }
                }

                System.out.println("未查到学号为"+id+"的学生,无法修改!");
                return;
            }
            //查询学生成绩
            case 4:{

                boolean flag = false;
                System.out.println("查询学生成绩");
                System.out.println("请输入要查询学生的学号:");
                String id=in.next();
                System.out.println("请输入要查询学生的姓名:");
                String name = in.next();

                for(Students student: students) {
                    if(student == null) {
                        break;
                    }
                    if(student.getName().equals(name)&&student.getId().equals(id)) {
                        System.out.println(student);
                        flag = true;
                    }
                }

                if(!flag) {
                    System.out.println("姓名为"+name+"的学生不存在");
                    return;
                }
                break;
            }
            case 5:{
                System.exit(1);
            }
            default:
                System.out.println("系统未找到"+op+"操作项");
        }

    }

}

二、student

package StudentsManage;

public class Students {

    //Java封装
    private String id;
    private String name;
    private double math;
    private double java;
    private double english;

    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 getMath() {
        return math;
    }
    public void setMath(double math) {
        this.math = math;
    }
    public double getJava() {
        return java;
    }
    public void setJava(double java) {
        this.java = java;
    }
    public double getEnglish() {
        return english;
    }
    public void setEnglish(double english) {
        this.english = english;
    }
    @Override
    public String toString() {
        return "学号:" + id + "  姓名:" + name + "  高数成绩:" + math + "  Java成绩:" + java+"  英语成绩:"+english;
    }
}

该学生成绩信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩; 管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。 考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。 技术实现 系统环境:Windows开发工具:IDEAJava版本:JDK 1.8服务器:Tomcat 1.8数据库:MySQL 5.X系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Html+Css+Ajax 系统功能系统主要分为三种用户角色,分别是管理员、老师以及学生,其具体功能如下: - 管理员   学生信息管理、教师信息管理、年级信息管理、班级信息管理、课程信息管理、考试信息管理,系统参数设置 - 老师   教学管理、教师个人信息维护、教师通讯录管理 - 学生考试成绩查询、学生通讯录、学生个人信息维护 运行截图 登录界面: 管理员界面: 考试列表:  成绩统计: 学生信息管理: 教师信息管理: 年级、班级信息管理:  系统设置: 教师界面:  成绩登记:  教师通讯录: 个人信息:  学生界面: 学生成绩查询: 班级通讯录: 学生个人信息:              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值