Java课设-学生成绩管理系统

题目要求
在这里插入图片描述
代码:

Student.java:

public class Student {
    private long id;//学号
    private String name;//姓名
    private double math;//应用数学成绩
    private double English;//大学英语成绩
    private double Java;//java成绩
    private double computer;//计算机应用基础
    private double average;    //平均分
    private int n;  //总人数
    public double getAverage() {
        return average;
    }

    public void setAverage(double average) {
        this.average = average;
    }

    public Student(int n,long id, String name, double math, double english, double java, double computer, double average) {
        this.n = n;
    	this.id = id;
        this.name = name;
        this.math = math;
        this.English = english;
        this.Java = java;
        this.computer = computer;
        this.average=average;
    }
	public Student() {

	}

	public int getNum() {
        return n;
    }

    public void setNum(int n) {
        this.n = n;
    }
    public long getId() {
        return id;
    }

    public void setId(long 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 getEnglish() {
        return English;
    }

    public void setEnglish(double English) {
        this.English = English;
    }

    public double getJava() {
        return Java;
    }

    public void setJava(double Java) {
        this.Java = Java;
    }

    public double getComputer() {
        return computer;
    }

    public void setComputer(double computer) {
        this.computer = computer;
    }
    public double getAvg(Student student) {
        return ( (student.getMath() + student.getEnglish() + student.getJava() + student.getComputer())/4);

    }
    public void setAvg(double average) {
        this.average=average;
    }
}

StudentApplication.java:

public class StudentApplication {
    public static Scanner scanner = new Scanner(System.in);
    public static ArrayList<Student> students = new ArrayList<>();
    public static void main(String[] args) {
        Student student = new Student();
        StudentManage sm=new StudentManage();
        while(true){
           int menuSelect=StudentManage.getMenu();
           switch (menuSelect){
               case 1://输入学生相关信息
                   sm.addStudent(students);
                   break;
                case 2://2按平均分降序排列
                    sm.sortStudent(students);
                    break;
               case 3:// 3显示所有成绩
                   sm.showAllStudent(students);
                   break;
                case 4: //4输入查询个人成绩
                    sm.searchStudent(students);
                    break;
                case 5://5显示各科平均分,最高分,最低分
                	sm.averageScore(students);
                	break;
                case 6://6退出成绩管理系统
                    System.out.println("即将退出成绩管理系统");
                    System.exit(0);
               default:
                   System.out.println("请重新输入");

                   break;

            }
        }

    }
}

StudentManage.java:

public class StudentManage {
    private static Scanner sc=new Scanner(System.in);

    //得到菜单
    public static int getMenu(){

        System.out.println("----------学生成绩管理系统----------");
        System.out.println("          1输入学生相关信息");
        System.out.println("          2按平均分降序排列");
        System.out.println("          3显示所有成绩");
        System.out.println("          4输入查询个人成绩");
        System.out.println("          5显示各科平均分,最高分,最低分");
        System.out.println("          6退出成绩管理系统");
        System.out.println("----------学生成绩管理系统----------");
        System.out.println("请选择菜单:");
        int select=StudentManage.sc.nextInt();
        return select;
    }
    //添加学生
    public   void addStudent(ArrayList<Student> students){
        Student student=new Student();
        System.out.println("请输入学生的学号");
        student.setId(sc.nextLong());
        System.out.println("请输入学生的姓名");
        student.setName(sc.next());
        System.out.println("请输入学生的应用数学成绩");
        student.setMath(sc.nextDouble());
        System.out.println("请输入学生的大学英语成绩");
        student.setEnglish(sc.nextDouble());
        System.out.println("请输入学生的java程序设计成绩");
        student.setJava(sc.nextDouble());
        System.out.println("请输入学生的计算机应用基础成绩");
        student.setComputer(sc.nextDouble());
        double avg = student.getAvg(student);
        student.setAverage(avg);
        students.add(student);
        //        提示信息
        System.out.println("添加成功");
    }
    //查询学生
    public void searchStudent(ArrayList<Student> students){
        if (students.size() == 0) {
            System.out.println("当前无数据,请添加后重试");
        } else {
            System.out.println("请输入要查找学生的学号:");
            long id = sc.nextLong();
            int flag = -1;
            Student student = new Student();
            //        查找对应学号,找到就退出
            for (int i = 0; i < students.size(); i++) {
                student = students.get(i);
                if (student.getId() == id) {
                    flag = i;
                    break;
                }
            }

            if (flag == -1) {
                System.out.println("未找到对应学号的学生,请确认后重新输入!");
            } else {
                System.out.println("对应学号的学生成绩如下:");
                System.out.println("学号\t\t\t姓名\t\t数学\t\t英语\t\tJava\t\tcomputer\t\t平均分\t\t");
                System.out.format("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getJava(),student.getComputer(), student.getAvg(student));
                System.out.println("查找信息成功!");
            }
        }
    }
    //按平均分排降序
    public void sortStudent(ArrayList<Student> students){
        if (students.isEmpty()) {
            System.out.println("当前无数据,请添加后重试");
        } else {
            for (int i = 0; i < students.size() - 1; i++) {
                if (students.get(i).getAvg(students.get(i)) < students.get(i + 1).getAvg(students.get(i + 1))) {
                    Student tmp = students.get(i);
                    students.set(i, students.get(i + 1));
                    students.set(i + 1, tmp);
                }
            }

            System.out.println("排序后的学生成绩");
            System.out.println("学号\t\t姓名\t\t数学\t\t英语\t\tJava\t\t计算机\t\t平均分");
            for (Student student : students) {
                System.out.format("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t\n",  student.getId(), student.getName(), student.getMath(), student.getEnglish(),  student.getJava() ,student.getComputer(), student.getAvg(student));
            }
        }
    }
    //显示所有成绩
    public void showAllStudent(ArrayList<Student> students){
        if (students.isEmpty()) {
            System.out.println("当前无数据,请先添加数据");
        } else {
            System.out.println("----------所有学生成绩如下----------");
            System.out.println("学号\t\t姓名\t\t数学\t\t英语\t\tJava\t\t计算机\t\t平均分");
            for (Student student : students) {
                System.out.format("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getJava(),student.getComputer(), student.getAvg(student));
        }
        }
    }
    //各科平均分,最高分,最低分
        public void averageScore(ArrayList<Student> students){
        int n = students.size();
        double max1 = 0;
		double min1 = students.get(0).getMath();;
        double sum1 = 0;
        for (int i = 0; i < n; i++) {
        	sum1 = sum1 + students.get(i).getMath();
        	 if (students.get(i).getMath() > max1) {
                 max1 = students.get(i).getMath();
             }
            if (students.get(i).getMath() < min1) {
                min1 = students.get(i).getMath();
            }
        	}
        System.out.println("应用数学的平均成绩="+sum1/n+" 最高成绩="+max1+" 最低成绩="+min1);
        
        double max2 = 0;
		double min2 = students.get(0).getEnglish();;
        double sum2 = 0;
        for (int i = 0; i < n; i++) {
        	sum2 = sum2 + students.get(i).getEnglish();
        	if (students.get(i).getEnglish() > max2) {
                max2 = students.get(i).getEnglish();
            }
            if (students.get(i).getEnglish() <= min2) {
                min2 = students.get(i).getEnglish();
            }
        	}
        System.out.println("大学英语的平均成绩="+sum2/n+" 最高成绩="+max2+" 最低成绩="+min2);
        
        double max3 = 0;
		double min3 = students.get(0).getJava();;
        double sum3 = 0;
        for (int i = 0; i < n; i++) {
        	sum3 = sum3 + students.get(i).getJava();
        	 if (students.get(i).getJava() > max3) {
                 max3 = students.get(i).getJava();
             }
            if (students.get(i).getJava() <= min3) {
                min3 = students.get(i).getJava();
            }
        	}
        System.out.println("Java的平均成绩="+sum3/n+" 最高成绩="+max3+" 最低成绩="+min3);
        
        double max4 = 0;
		double min4 = students.get(0).getComputer();;
        double sum4 = 0;
        for (int i = 0; i < n; i++) {
        	sum4 = sum4 + students.get(i).getComputer();
        	 if (students.get(i).getEnglish() > max4) {
                 max4 = students.get(i).getComputer();
             }
            if (students.get(i).getComputer() <= min4) {
                min4 = students.get(i).getComputer();
            }
        	}
        System.out.println("计算机应用基础的平均成绩="+sum4/n+" 最高成绩="+max4+" 最低成绩="+min4);
        }
}

运行主界面
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

续写青春.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值