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)

相关推荐

  • java实现简单的学生信息管理系统代码实例

    java实现简单的学生信息管理系统(无界面) 学生类实体: package com.edu.imau.wcy; public class Stu { private String stuNum;//学号 private String name;//姓名 private String gender;//性别 private int age;//年龄 private int score;//分数 public Stu() { super(); } public String getStuNum()

  • javaWeb实现学生信息管理系统

    本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

  • java实现学生信息管理系统

    JAVA简单写学生信息管理系统,实现学生信息的输入.查询.修改.删除操作 package Week; import jdk.internal.util.xml.impl.Input; import java.util.HashSet; import java.util.Scanner; public class StudentMs { Scanner sc = new Scanner(System.in); public int getID() { return ID; } public Str

  • Java+MySQL实现学生信息管理系统源码

    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家.(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git 1. 开发环境:jdk7+MySQL5+win7 代码结构:model-dao-view 2. 数据库设计--建库建表语句: CREATE DATABASE student; DROP

  • Java学生信息管理系统设计(数据库版)

    本文实例为大家分享了数据库版的Java学生信息管理系统,供大家参考,具体内容如下 package Student_system; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import

  • java+SQL server2008学生信息管理系统源码

    本文实例为大家分享了java学生信息管理系统源码的具体代码,供大家参考,具体内容如下 1.StudetManage类(主界面) package com.sms3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class StudentManage extends JFrame implements ActionListener { /** * @param args */ public stat

  • java(swing)+ mysql实现学生信息管理系统源码

    本文实例为大家分享了java实现学生信息管理系统源码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import

  • 学生信息管理系统java版

    本文为大家分享了java学生信息管理系统的源代码,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Student[] s=new Student[2]; int n=0; private Stri

  • java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

  • java学生信息管理系统设计

    本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

随机推荐