本文实例为大家分享了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