本文实例为大家分享了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.退出系统
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
原文链接:https://blog.csdn.net/hju22/article/details/86175596
查看更多关于java对象数组实现学生信息管理系统的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did214770