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

2022-07-14,,,,

本文实例为大家分享了java学生成绩档案管理系统的具体代码,供大家参考,具体内容如下

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

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<students> 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<students> getstudentslist() {
        return studentslist;
    }
    public void setstudentslist(list<students> 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<students> 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<students> 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<students> bub(list<students> studentlist) {
        list<students> 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<students> 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<students> 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<students> heapsort(list<students> studentlist){
    list<students> 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<students> studentlist, int len) {
        for (int i = (int) math.floor(len / 2); i >= 0; i--) {
            heapify(studentlist, i, len);
        }
    }

    private void heapify(list<students> 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<students> 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();
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

《java实现简单学生成绩档案管理系统.doc》

下载本文的Word格式文档,以方便收藏与打印。