java对象数组实现学生信息管理系统

本文实例为大家分享了Java实现学生信息管理系统,供大家参考,具体内容如下

一、功能需求

case 10:添加学生case 11:查找一个学生case 12:根据编号更新学生基本信息case 13:根据编号删除学生case 14:根据编号录入成绩case 15:根据某门成绩排序case 16:根据总成绩排序case 99:退出系统

二、代码框架

一共有三个文件:

1、Student.java(学生类) //学生的基本信息2、StudentAdmin.java(学生管理类) //用于对学生数组操作3、StudentTest.java(主程序)

三、代码

下面为具体的代码:

1.学生类 Student.java

package com.studentadmin.test;/** * 学生类 */public class Student {    private int number;    private String name;    private int age;    private int python;    private int java;    private int linux;    private int sql;    private int sum;    private int avg;    public int getNumber() {        return number;    }    public void setNumber(int number) {        this.number = number;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge(){        return age;    }    public void setAge(int age) {        this.age = age;    }    public int getPython() {        return python;    }    public void setPython(int python) {        this.python = python;    }    public int getJava() {        return java;    }    public void setJava(int java) {        this.java = java;    }    public int getLinux() {        return linux;    }    public void setLinux(int linux) {        this.linux = linux;    }    public int getSql() {        return sql;    }    public void setSql(int sql) {        this.sql = sql;    }    public int getSum() {        return sum;    }    public void setSum() {        this.sum = this.python+this.java+this.linux+this.sql;    }    public int getAvg() {        return avg;    }    public void setAvg() {        this.avg = this.sum/4;    }    public String toString(){ //学生信息        String str="\t\t"+this.number+"\t\t"+this.name+"\t\t"+this.age+"\t\t"+this.python+"\t\t"                +this.java+"\t\t"+this.linux+"\t\t"+this.sql+"\t\t"+this.sum+"\t\t"+this.avg;        return str;    }}

2.学生管理类 StudentAdmin.java

package com.studentadmin.test;/** * 管理学生的类 */public class StudentAdmin {    static String msg="\t\t编号\t\t姓名\t\t年龄\t\tpython\tjava\tlinux\tsql\t\t总分\t\t平均分";    //功能菜单:    public void menu(){        System.out.println("-----请选择你要执行的功能-----");        System.out.println("10:添加一个学生");        System.out.println("11:查找一个学生");        System.out.println("12:根据学生编号更新学生基本信息");        System.out.println("13:根据学生编号删除学生");        System.out.println("14:根据学生编号输入学生各门成绩");        System.out.println("15:根据某门成绩进行排序");        System.out.println("16:根据总分进行排序");        System.out.println("99:退出系统");        System.out.println("----------------------------");    }    //返回数组中元素为空的下标    public int index(Student[] arr){            for(int i=0;i<arr.length;i++){                if(arr[i]==null){                    return i;//新学生的编号                }            }            return 999; //学生已满员    }    //打印所有学生的信息    public void print(Student[] arr){        System.out.println(msg);        for(int i=0;i<arr.length;i++){            if(arr[i]!=null){                System.out.println(arr[i]);            }        }    }    //10:添加学生    public void create(String name,int age,Student[] arr){        int index=index(arr);  //获取新学生的位置        if(index!=999) { //如果还有空位置,可以添加学生            Student stu = new Student();            stu.setName(name);            stu.setAge(age);            stu.setNumber(index);            arr[index] = stu;            System.out.println("添加学生成功");            this.print(arr);        }else{            System.out.println("班级学生已满,无法再添加学生了");        }    }    //11:查找学生    public void select(int number,Student[] arr){        for(int i=0;i<arr.length;i++){            if(arr[i]!=null){                if(arr[i].getNumber()==number){                    System.out.println(msg);                    System.out.println(arr[i]);                    return;                }            }        }        System.out.println("没有这个编号的学生");    }    //12:根据编号更新学生    public void update(int number,String name,int age,Student[] arr){        for(int i=0;i<arr.length;i++){            if(arr[i]!=null){                if(arr[i].getNumber()==number){                    arr[i].setName(name);                    arr[i].setAge(age);                    System.out.println("更新学生信息成功");                    this.print(arr);                    return;                }            }        }        System.out.println("没有这个学生");    }    //13:根据编号删除学生    public void delete(int number,Student[] arr){        for(int i=0;i<arr.length;i++){            if(arr[i]!=null){                if(arr[i].getNumber()==number){                    arr[i]=null;                    System.out.println("删除成功");                    this.print(arr);                    return;                }            }        }        System.out.println("没有这个编号的学生");    }    //14:根据编号录入成绩    public void input(int number, int python,int java,int linux,int sql,Student[] arr){        for(int i=0;i<arr.length;i++) {            if (arr[i] != null) {                if (arr[i].getNumber() == number) {                    arr[number].setPython(python);                    arr[number].setJava(java);                    arr[number].setLinux(linux);                    arr[number].setSql(sql);                    arr[number].setSum();                    arr[number].setAvg();                    System.out.println("录入成绩成功");                    this.print(arr);                    return;                }            }        }        System.out.println("不存在这个学生");    }    //15:根据某门成绩排序    public void courseSort(int number,Student[] arr){        switch (number) {            case 1:                for (int i = 0; i < arr.length - 1; i++) {                    for (int j = i + 1; j < arr.length; j++) {                    if (arr[i] != null && arr[j] != null) {                        if (arr[i].getPython() < arr[j].getPython()) {                            Student temp = arr[i];//比较某门成绩,交换学生                            arr[i] = arr[j];                            arr[j] = temp;                        }                    }                }            }            break;            case 2:                for (int i = 0; i < arr.length - 1; i++) {                    for (int j = i + 1; j < arr.length; j++) {                        if (arr[i] != null && arr[j] != null) {                            if (arr[i].getJava() < arr[j].getJava()) {                                Student temp = arr[i];                                arr[i] = arr[j];                                arr[j] = temp;                            }                        }                    }                }                break;            case 3:                for (int i = 0; i < arr.length - 1; i++) {                    for (int j = i + 1; j < arr.length; j++) {                        if (arr[i] != null && arr[j] != null) {                            if (arr[i].getLinux() < arr[j].getLinux()) {                                Student temp = arr[i];                                arr[i] = arr[j];                                arr[j] = temp;                            }                        }                    }                }                break;            case 4:                for (int i = 0; i < arr.length - 1; i++) {                    for (int j = i + 1; j < arr.length; j++) {                        if (arr[i] != null && arr[j] != null) {                            if (arr[i].getSql() < arr[j].getSql()) {                                Student temp = arr[i];                                arr[i] = arr[j];                                arr[j] = temp;                            }                        }                    }                }                break;        }        this.print(arr);    }    //16:根据总分排序    public void sumSort(Student[] arr){        for (int i = 0; i < arr.length - 1; i++) {            for (int j = i + 1; j < arr.length; j++) {                if (arr[i] != null && arr[j] != null) {                    if (arr[i].getSum() < arr[j].getSum()) {                        Student temp = arr[i];                        arr[i] = arr[j];                        arr[j] = temp;                    }                }            }        }        this.print(arr);    }}

3.主程序 StudentTest.java

package com.studentadmin.test;import java.util.Scanner;/** * 主程序 */public class StudentTest {    public static void main(String[] args) {        Scanner sc=new Scanner(System.in);        System.out.println("请定义学生人数");        int stuNum=sc.nextInt(); //定义学生人数        Student[] stuArr=new Student[stuNum]; //定义一个学生数组        StudentAdmin admin=new StudentAdmin(); //定义一个管理对象,用来调用管理学生的方法        while(true){            admin.menu();//功能菜单            int number=sc.nextInt();  //选择的菜单选项            if(number==10){ //10:添加一个学生                System.out.println("请输入学生姓名");                String name=sc.next();                System.out.println("请输入学生年龄");                int age=sc.nextInt();                admin.create(name,age,stuArr);            }else if(number==11){//11:查找一个学生                System.out.println("请输入你要查找的学生的编号");                int num=sc.nextInt();                admin.select(num,stuArr);            }else if(number==12){//12:根据学生编号更新学生基本信息                System.out.println("请输入你要更新的学生的编号");                int num=sc.nextInt();                System.out.println("请输入学生姓名");                String name=sc.next();                System.out.println("请输入学生年龄");                int age=sc.nextInt();                admin.update(num,name,age,stuArr);            }else if(number==13){//13:根据学生编号删除学生                System.out.println("请输入你要删除的学生编号");                int num=sc.nextInt();                admin.delete(num,stuArr);            }else if(number==14){//14:根据编号输入学生各门成绩                System.out.println("请输入学生编号");                int num=sc.nextInt();                System.out.println("请输入学生python成绩");                int python=sc.nextInt();                System.out.println("请输入学生java成绩");                int java=sc.nextInt();                System.out.println("请输入学生linux成绩");                int linux=sc.nextInt();                System.out.println("请输入学生sql成绩");                int sql=sc.nextInt();                admin.input(num,python,java,linux,sql,stuArr);            }else if (number==15){//15:根据某门成绩进行排序                System.out.println("请选择你要排序的课程(1:python 2:java 3:linux 4:sql)");                int courseNum=sc.nextInt();                admin.courseSort(courseNum,stuArr);            }else if (number==16){//16:根据总分进行排序                admin.sumSort(stuArr);            }else if(number==99){//99:退出系统                System.exit(0);            }else{                System.out.println("请重新输入");            }        }    }}

四、运行结果

1.添加学生功能

2.查找学生功能

3.根据编号更新学生基本信息功能

4.根据学生编号删除学生功能

5.根据学生编号录入学生各门成绩

6.根据某门成绩进行排序

7.根据总分进行排序

8.退出系统

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

谁是谁生命的点缀。

java对象数组实现学生信息管理系统

相关文章:

你感兴趣的文章:

标签云: