好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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.退出系统

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

原文链接:https://blog.csdn.net/hju22/article/details/86175596

查看更多关于java对象数组实现学生信息管理系统的详细内容...

  阅读:14次