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.退出系统
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
赞 (0)