当前位置:

首页 > 编程开发 > java怎么实现简单学生成绩档案管理系统

java怎么实现简单学生成绩档案管理系统

学生成绩档案管理系统源代码:studentpublicclassstudents{privateStringname;privateStringnumber;privateintchinascore;privateintmathscore;privateintenglishscore;privateintphyscore;publicstudents(Stringname,Stringnumber,intchinascore,intmathscore,intenglishscore,intphyscore

本文目录

    学生成绩档案管理系统源代码:

    student

    public class students{
        private String name;
        private String number;
        private int chinascore;
        private int mathscore;
        private int englishscore;
        private int physcore;
    
        public students(String name, String number, int chinascore, int mathscore, int englishscore, int physcore) {
            this.name = name;
            this.number = number;
            this.chinascore = chinascore;
            this.mathscore = mathscore;
            this.englishscore = englishscore;
            this.physcore = physcore;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getNumber() {
            return number;
        }
    
        public void setNumber(String number) {
            this.number = number;
        }
    
        public int getChinascore() {
            return chinascore;
        }
    
        public void setChinascore(int chinascore) {
            this.chinascore = chinascore;
        }
    
        public int getMathscore() {
            return mathscore;
        }
    
        public void setMathscore(int mathscore) {
            this.mathscore = mathscore;
        }
    
        public int getEnglishscore() {
            return englishscore;
        }
    
        public void setEnglishscore(int englishscore) {
            this.englishscore = englishscore;
        }
    
        public int getPhyscore() {
            return physcore;
        }
    
        public void setPhyscore(int physcore) {
            this.physcore = physcore;
        }
    }

    database

    import java.util.ArrayList;
    import java.util.List;
    
    public class database {
        List studentsList = new ArrayList<>();
        public database() {
            studentsList.add(new students("张三", "1", 1, 1, 1, 1));
            studentsList.add(new students("李四", "2", 8, 2, 2, 2));
            studentsList.add(new students("王五", "3", 1, 3, 3, 3));
            studentsList.add(new students("赵六", "4", 6, 4, 4, 4));
        }
        public List getStudentsList() {
            return studentsList;
        }
        public void setStudentsList(List studentsList) {
            this.studentsList = studentsList;
        }
    }

    studentdao

    import java.util.List;
    import java.util.Scanner;
    
    public class studentdao {
        database database;
    
        public studentdao(database dataBase) {
            this.database = dataBase;
        }
    
        //对全部学生信息打印
        public void print() {
            List list = database.getStudentsList();
            System.out.println("学生学号:" + "学生姓名" + "  语文:" + "数学:" + "英语:" + "物理:"+"学生总分");
            for (students students : database.getStudentsList()) {
                int x=students.getChinascore()+students.getMathscore()+students.getEnglishscore()+students.getPhyscore();
                System.out.println("" + students.getNumber() + "     " + students.getName() + "     " + students.getChinascore()
                        + "    " + students.getMathscore() + "   " + students.getEnglishscore() + "    " + students.getPhyscore()+"     "+x);
            }
            for(int i=0;i<=list.size();i++){
                int x=list.get(i).getChinascore()+list.get(i).getMathscore() +list.get(i).getEnglishscore()+list.get(i).getPhyscore();
                System.out.println((i+1)+list.get(i).getNumber()+list.get(i).getName()+list.get(i).getChinascore()+list.get(i).getMathscore() +list.get(i).getEnglishscore()+list.get(i).getPhyscore() +x);
            }
        }
    
        //添加新的学生
        public void add() {
            String number;
            String name;
            int grade1;
            int grade2;
            int grade3;
            int grade4;
            Scanner scanner = new Scanner(System.in);
            System.out.println("输入学生的学号:");
            number = scanner.next();
            System.out.println("输入学生的姓名:");
            name = scanner.next();
            System.out.println("输入学生的语文成绩:");
            grade1 = scanner.nextInt();
            System.out.println("输入学生的数学成绩:");
            grade2 = scanner.nextInt();
            System.out.println("输入学生的英语成绩:");
            grade3 = scanner.nextInt();
            System.out.println("输入学生的物理成绩:");
            grade4 = scanner.nextInt();
            students students = new students(name, number, grade1, grade2, grade3, grade4);
            List studentsList = database.getStudentsList();
            studentsList.add(students);
        }
    
        //输入姓名或者学号来查询学生信息
        public void searchstudent() {
            Scanner scanner = new Scanner(System.in);
                findbynumber();
        }
        //通过输入学号来查询信息
        public void findbynumber() {
            Scanner scanner = new Scanner(System.in);
            System.out.println("输入学生的学号:");
            String number = scanner.next();
            for (students students : database.getStudentsList()) {
                if (students.getNumber().equals(number)) {
                    System.out.println("学生学号:" + students.getNumber() + "学生姓名:" + students.getName()
                            + "语文:" + students.getChinascore() + "数学:" + students.getMathscore()
                            + "英语:" + students.getEnglishscore() + "物理:" + students.getPhyscore());
                }
            }
        }
        //通过学号来修改科目成绩
        public void changescore() {
            Scanner scanner = new Scanner(System.in);
            System.out.println("输入学号:");
            String number = scanner.next();
            students students = null;
            for (students a : database.getStudentsList()) {
                if (a.getNumber().equals(number)) {
                    students = a;
                }
            }
            if (students != null) {
                System.out.println("查找成功!");
                System.out.println("学生学号:" + students.getNumber() + "学生姓名:" + students.getName()
                        + "语文:" + students.getChinascore() + "数学:" + students.getMathscore()
                        + "英语:" + students.getEnglishscore() + "物理:" + students.getPhyscore());
                System.out.println("输入要修改的语文的成绩:");
                int grade1 = scanner.nextInt();
                System.out.println("输入要修改的数学的成绩:");
                int grade2 = scanner.nextInt();
                System.out.println("输入要修改的英语的成绩:");
                int grade3 = scanner.nextInt();
                System.out.println("输入要修改的物理的成绩:");
                int grade4 = scanner.nextInt();
                students.setChinascore(grade1);
                students.setMathscore(grade2);
                students.setEnglishscore(grade3);
                students.setPhyscore(grade4);
                System.out.println("修改完成!");
                System.out.println("学生学号:" + students.getNumber() + "学生姓名:" + students.getName()
                        + "语文:" + students.getChinascore() + "数学:" + students.getMathscore()
                        + "英语:" + students.getEnglishscore() + "物理:" + students.getPhyscore());
            } else {
                System.out.println("未找到该学生!");
            }
        }
        //双向冒泡排序
        public List bub(List studentList) {
            List list = database.getStudentsList();
            students student = null;
            int left = 0, right = database.getStudentsList().size() - 1;
            while (left < right) {
                for (int i = left + 1; i <= right; i++) {
                    if (list.get(left).getChinascore() + list.get(left).getMathscore() + list.get(left).getEnglishscore() + list.get(left).getPhyscore() < list.get(i).getChinascore() + list.get(i).getMathscore() + list.get(i).getEnglishscore() + list.get(i).getPhyscore()) {
                        student = list.get(i);
                        list.set(i, list.get(left));
                        list.set(left, student);
    
                    }
                }
                left++;
                for (int i = right - 1; i >= left; i--) {
                    if (list.get(right).getChinascore() + list.get(right).getMathscore() + list.get(right).getEnglishscore() + list.get(right).getPhyscore() > list.get(i).getChinascore() + list.get(i).getMathscore() + list.get(i).getEnglishscore() + list.get(i).getPhyscore()) {
                        {
                            student = list.get(i);
                            list.set(i, list.get(right));
                            list.set(right, student);
                        }
                    }
                    right--;
                }
            }
    
    
            return list;
        }
            //希尔排序
            public void shellSort () {
                List list = database.getStudentsList();
                students student = null;
                students student1 = null;
                int j;
                for (int gap = list.size() / 2; gap > 0; gap /= 2) {
                    for (int i = gap; i < list.size(); i++) {
                        student = list.get(i);
                        int tmp = student.getChinascore() + student.getMathscore() + student.getEnglishscore() + student.getPhyscore();
                        for (j = i; j >= gap && tmp > list.get(j - gap).getChinascore() + list.get(j - gap).getMathscore() + list.get(j - gap).getEnglishscore() + list.get(j - gap).getPhyscore(); j -= gap) {
                            list.set(j, list.get(j - gap));
                        }
                        list.set(j, student);
                    }
                }
    
            }
    
            //快速排序
            public void quickSort1 ( int left, int right){
                List studentsList = database.getStudentsList();
                if (left < right) {
                    int i = left, j = right;
                    students student = studentsList.get(left);
                    int x = student.getChinascore() + student.getMathscore() + student.getEnglishscore() + student.getPhyscore();
                    while (i < j) {
                        while ((i < j) && (studentsList.get(j).getChinascore() + studentsList.get(j).getMathscore() + studentsList.get(j).getEnglishscore() + studentsList.get(j).getPhyscore()) < x) {
                            j--;
                        }
                        if (i < j) {
                            studentsList.set(i, studentsList.get(j));
                            i++;
                        }
                        while ((i < j) && (studentsList.get(i).getChinascore() + studentsList.get(i).getMathscore() + studentsList.get(i).getEnglishscore() + studentsList.get(i).getPhyscore() > x)) {
                            i++;
                        }
                        if (i < j) {
                            studentsList.set(j, studentsList.get(i));
                            j--;
                        }
                    }
                    studentsList.set(i, student);
                    quickSort1(left, i - 1);
                    quickSort1(i + 1, right);
                }
    
            }
            //堆排序
        //移除位在第一个数据的根节点,并做最大堆调整的递归运算
    public List heapSort(List studentList){
        List list=studentList;
        int len = list.size();
        buildMaxHeap(list, len);
        for (int i = len - 1; i > 0; i--) {
            swap(list, 0, i);
            len--;
            heapify(list, 0, len);
        }
        return list;
    }
    //将堆中的所有数据重新排序堆排序(HeapSort)
        private void buildMaxHeap(List studentList, int len) {
            for (int i = (int) Math.floor(len / 2); i >= 0; i--) {
                heapify(studentList, i, len);
            }
        }
    
        private void heapify(List studentList, int i, int len) {
            int left = 2 * i + 1;
            int right = 2 * i + 2;
            int largest = i;
    
            if (left < len && studentList.get(left).getChinascore() + studentList.get(left).getMathscore() + studentList.get(left).getEnglishscore() + studentList.get(left).getPhyscore()< studentList.get(largest).getChinascore() + studentList.get(largest).getMathscore() + studentList.get(largest).getEnglishscore() + studentList.get(largest).getPhyscore()) {
                largest = left;
            }
    
            if (right < len && studentList.get(right).getChinascore() + studentList.get(right).getMathscore() + studentList.get(right).getEnglishscore() + studentList.get(right).getPhyscore()< studentList.get(largest).getChinascore() + studentList.get(largest).getMathscore() + studentList.get(largest).getEnglishscore() + studentList.get(largest).getPhyscore()) {
                largest = right;
            }
    
            if (largest != i) {
                swap(studentList, i, largest);
                heapify(studentList, largest, len);
            }
        }
        private void swap(List studentList, int i, int j) {
            students student=studentList.get(i);
            studentList.set(i,studentList.get(j));
            studentList.set(j,student);
        }
        }

    service

    import java.util.Scanner;
    
    public class service {
        private studentdao studentdao;
        ;
        private database database;
    
        public service(database dataBase) {
            studentdao = new studentdao(dataBase);
    
            this.database = dataBase;
        }
        public void start() {
            Scanner scanner = new Scanner(System.in);
            System.out.println("1.增加学生信息");
            System.out.println("2.浏览学生信息");
            System.out.println("3.修改学生成绩");
            System.out.println("4.排序学生成绩");
            System.out.println("5.学生信息查询");
    
            int choice = scanner.nextInt();
            switch (choice) {
                case 1:
                    add();
                    break;
                case 2:
                    studentdao.print();
                    System.out.println("是否回到主界面0.回到1.不会");
                    int k=scanner.nextInt();
                    if(k==0) {
                        start();
                    }
                    break;
                case 3:
                    changeit();break;
                case 4:
                    rank();
                    break;
                case 5:
                    search();break;
            }
        }
        //选择排序方式
        public void rank(){
            System.out.println("1.希尔排序");
            System.out.println("2.冒泡排序");
            System.out.println("3.快速排序");
            System.out.println("4.堆排序");
            System.out.println("输入0返回菜单");
            Scanner scanner = new Scanner(System.in);
            int a=scanner.nextInt();
            switch (a){
                case 1:
                    studentdao.shellSort();
                    studentdao.print();
                    System.out.println("是否回到主界面0.回到1.不会");
                    int p=scanner.nextInt();
                    if(p==0) {
                        start();
                    }
                    break;
                case 2:
                    studentdao.bub(database.getStudentsList());
                    studentdao.print();
    
                    System.out.println("是否回到主界面0.回到1.不会");
                    int k=scanner.nextInt();
                    if(k==0) {
                        start();
                    }
                    break;
                case 3:
                    studentdao.quickSort1(0,database.getStudentsList().size()-1);
                    studentdao.print();
                    System.out.println("是否回到主界面0.回到1.不会");
                    int o=scanner.nextInt();
                    if(o==0) {
                        start();
                    }
                    break;
                case 4:
                    studentdao.heapSort(database.getStudentsList());
                    studentdao.print();
                    System.out.println("是否回到主界面0.回到1.不会");
                    int k1=scanner.nextInt();
                    if(k1==0) {
                        start();
                    }
                    break;
                case 0:start();
                    break;
            }
        }
        //查找学生信息
        public void search(){
            studentdao.searchstudent();
            Scanner scanner=new Scanner(System.in);
            System.out.println("是否回到主界面0.回到1.不会");
            int k=scanner.nextInt();
            if(k==0) {
                start();
            }
        }
        //更改学生信息
    
        public void changeit(){
                studentdao.changescore();
            System.out.println("是否回到主界面0.回到1.不会");
            Scanner scanner=new Scanner(System.in);
            int k=scanner.nextInt();
            if(k==0) {
                start();
            }
        }
        //增加学生
        public void add(){
            studentdao.add();
            System.out.println("是否回到主界面0.回到1.不会");
            Scanner scanner=new Scanner(System.in);
            int k=scanner.nextInt();
            if(k==0) {
                start();
            }
        }
    
    }

    text

    public class text {
        public static void main(String[]args){
            database database = new database();
            service studentsSer=new service(database);
           studentsSer.start();
        }
    }
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Java
    相关文章 更多
    Java单元测试入门:使用JUnit 5编写第一个测试用例
    Java单元测试入门:使用JUnit 5编写第一个测试用例

    面向初学者的JUnit 5实用入门指南。从测试概念、Maven依赖配置,到手把手编写首个单元测试用例及断言验证,助你掌握Java单元测试的核心流程。

    Java变量未初始化报错解析:局部变量与成员变量默认值差异
    Java变量未初始化报错解析:局部变量与成员变量默认值差异

    深入解析Java中局部变量未初始化编译报错与成员变量自动赋予默认值的机制差异,涵盖JVM内存分配、编译期确定性赋值检查与实际排查修复方案。

    Java获取当前时间并格式化输出:DateTimeFormatter与SimpleDateFormat
    Java获取当前时间并格式化输出:DateTimeFormatter与SimpleDateFormat

    详细讲解在Java中获取当前系统时间并进行格式化输出的两种核心方案:基于Java 8全新日期时间API的DateTimeFormatter与传统遗留的SimpleDateFormat,包含完整代码示例、线程安全机制对比及生产选型建议。

    Java中final与static final常量的定义及初始化规则
    Java中final与static final常量的定义及初始化规则

    深入解析Java中final变量与static final常量的定义、内存语义、初始化时机及合法赋值路径,涵盖编译期常量优化与实战避坑指南。

    Java抽象方法与接口方法的区别及选型建议
    Java抽象方法与接口方法的区别及选型建议

    深入对比Java中抽象类抽象方法与接口方法的语法演进、设计意图及运行期差异,并提供清晰的架构选型决策流程与实战范例。

    Java实现HTTP请求与JSON解析的完整代码示例
    Java实现HTTP请求与JSON解析的完整代码示例

    本文提供Java标准库HttpClient发起HTTP GET/POST请求并结合Jackson进行JSON数据反序列化与序列化的完整代码示例与工程实践指南。

    Java递归出现StackOverflowError的原因分析及栈空间优化方案
    Java递归出现StackOverflowError的原因分析及栈空间优化方案

    详细分析Java递归调用出现StackOverflowError的原因,结合代码说明线程栈、栈帧和递归深度之间的关系,并介绍终止条件排查、迭代改写、减少栈帧开销以及通过-Xss调整JVM栈空间的方法。

    Java空指针异常(NPE)的代码排查与修复实例
    Java空指针异常(NPE)的代码排查与修复实例

    针对Java中常见的NullPointerException(NPE),本文从堆栈日志定位、典型代码触发场景、具体修复代码对比到防御体系进行系统讲解,提供实用且易上手的排查与修复方案。

    selenium上传文件教程本地文件路径设置方法
    selenium上传文件教程本地文件路径设置方法

    深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

    针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。