java实现简单的学生管理系统

用Java如何实现一个用数组作为存储结构的简易的学生管理系统?

首先,我们定义一个student类,在其中添加私有化的成员变量,通过getter和setter方法进行调用

public class Students {
    // 学号,姓名,性别,年龄,成绩
    private String stuNo = " ";
    private String stuName = " ";
    private String gender = " ";
    private int age;
    private int num;

    public String getStuNo() {
        return stuNo;
    }

    public void setStuNo(String stuNo) {
        this.stuNo = stuNo;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String toString() {
        return "[" + stuNo + "\t|" + stuName + "\t|" + gender + "\t|" + age + "\t|" + num + "]";
    }

}

随后,我们新建一个类,直接在main方法中写学生管理系统.学生信息管理系统一般要具有增删改查四个功能,我们可以分别用方法进行实现,然后在主菜单switch中进行调用。

package com.baidu.HomeWork.Stusys;

import java.util.Scanner;

public class Main {
    static int num = 0;
    static boolean tag = true;
    static boolean tag_1 = true;
    static Students[] stu = new Students[100];
    static Scanner scan = new Scanner(System.in);

    public static void main(String[] args) {

        while (tag) { // 主菜单
            System.out.println("1.增加学生数据");
            System.out.println("2.删除学生数据");
            System.out.println("3.修改学生数据");
            System.out.println("4.查询学生数据");
            System.out.println("5.退出学生管理系统");

            int scan_num = scan.nextInt();
            switch (scan_num) { // 主菜单选择
            case 1:
                add();
                break;
            case 2:
                delete();
                break;
            case 3:
                gai();
                break;
            case 4:
                cha();
                break;
            case 5:
                tag = false;
                break;
            default:
                break;
            }

        }
    }

    static void add() { // 增加学生信息
        while (tag_1) {
            stu[num] = new Students();
            System.out.println("请依次输入学号,姓名,性别,年龄,成绩");
            stu[num].setStuNo(scan.next());
            stu[num].setStuName(scan.next());
            stu[num].setGender(scan.next());
            stu[num].setAge(scan.nextInt());
            stu[num].setNum(scan.nextInt());
            num++;
            System.out.println("继续输入请输入true,否则输入false");
            tag_1 = scan.nextBoolean();

        }
        paixu();
        cha();
    }

    static void paixu() { // 对学生信息进行排序,该方法菜单中不可选择,但会在其他方法中调用
        int l = num - 1;
        int temp;
        for (int j = 0; j < l; j++) {
            for (int i = 0; i < l - j; i++) {
                // 依次比较相邻的两个元素,使较大的那个向后移
                if (stu[i].getNum() > stu[i + 1].getNum()) {
                    temp = stu[i].getNum();
                    stu[i].setNum(stu[i + 1].getNum());
                    stu[i + 1].setNum(temp);
                }
            }
        }
    }

    static boolean kai = false;

    static void delete() { // 删除学生信息
        System.out.println("请输入你要删除的学号");
        String xuehao = scan.next();
        int i;
        for (i = 0; i < num; i++) {
            if (xuehao.equals(stu[i].getStuNo())) {
                kai = true;
                break;
            }
        }
        if (kai) {
            for (; i < num; i++) {
                stu[i].setStuNo(stu[i + 1].getStuNo());
                stu[i].setStuName(stu[i + 1].getStuName());
                stu[i].setGender(stu[i + 1].getGender());
                stu[i].setAge(stu[i + 1].getAge());
                stu[i].setNum(stu[i + 1].getNum());
            }
        } else {
            System.out.println("查无此人");
        }
        num--;
    }

    static boolean gai = false;

    static void gai() {                   // 修改学生信息
        System.out.println("请输入你要修改的学号");
        String xuehao = scan.next();
        int i;
        for (i = 0; i < num; i++) {
            if (xuehao.equals(stu[i].getStuNo())) {
                gai = true;
                break;
            }
        }
        if (gai) {
            System.out.println("请依次输入信息");
            stu[i].setStuNo(scan.next());
            stu[i].setStuName(scan.next());
            stu[i].setGender(scan.next());
            stu[i].setAge(scan.nextInt());
            stu[i].setNum(scan.nextInt());
        } else {
            System.out.println("查无此人");
        }
        paixu();
        cha();

    }

    static void cha() {                  // 遍历学生信息并打印,取代了逐一查找学生信息
        System.out.println("[学号\t|姓名 \t|性别 \t|年龄\t|成绩]");
        for (int i = 0; i < num; i++) {
            System.out.println(stu[i]);
        }

    }

}

这样一个简单的用数组实现的学生系信息管理系统就做好了,还可以向其中添加其他的方法丰富这个系统或者为这个系统做一个界面。

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

(0)

相关推荐

  • java实现简单学生成绩管理系统

    本文实例为大家分享了java实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 /*  *@copyright by LzyRapx on 2016/4/12.  *@name:java学生成绩管理系统.  *@功能:学生相关信息,录入,查询,统计,修改等....  *@PS:图形界面的学生管理系统不要求就不做了.  */   import java.util.Scanner; import java.lang.*; import java.io.*; class Student {   

  • java实现学生教师管理系统

    本文实例为大家分享了java实现学生教师管理系统的具体代码,供大家参考,具体内容如下 类设计 1.1 父类抽象类 成员属性: id(编号) name(姓名) sex(性别) birthday(生日) age(年龄-由生日计算得出) 构造方法: 无参构造 全参构造 成员方法: toString() 抽象方法: getType():由各子类实现,返回各自的"类型"字符串. getWork():由各子类实现,返回各自的"工作"字符串. 1.2 子类Student 构造方法

  • Java实现学生信息管理系统(使用数据库)

    Java基础—学生信息管理系统(使用数据库),供大家参考,具体内容如下 前一段时间写了学生信息管理系统(使用ArrayList),今天再来更新一下使用数据库的管理系统,总体上来说要比用ArrayList简便一些,同时输入的数据也能存储起来. 这次程序是在上一篇的基础上进行修改的,所以结构上来看十分相似. 在写程序之前,要先在MySQL上建立Student Info表. create table Student (     ID varchar(50) primary key not null,

  • Java实现简单的学生教师管理系统

    本文实例为大家分享了Java实现学生教师管理系统的具体代码,供大家参考,具体内容如下 需求: 我们可以通过管理系统对学生和教师进行管理对象学生和教师进行增删改查等的功能 1.Student和Teacher的父类2.Student类3.Teacher类4.Utils工具类5.测试类 Student和Teacher的父类 public class Person {     private String id; // 编号     private String name; // 姓名     priv

  • Java实现学生管理系统(IO版)

    本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下 图解:  cade:  student.java /*  * 这是我的学生类  */ public class Student {     //学号     private String id;     //姓名     private String name;     //年龄     private String age;     //居住地     private String address;       

  • Java实现学生信息管理系统(借助Array List)

    本文实例为大家分享了vue + element ui实现锚点定位的具体代码,供大家参考,具体内容如下 需求:   制作一个简单的学生信息管理系统 1.通过键盘选择操作进行添加学生(学号,姓名,性别,年龄,成绩)的信息,这些信息通过数组存储. 2.同时还可以进行: (1)查询某个或全体学生信息: (2)修改学生信息: (3)删除学生信息的操作. 要求:有一定的优化,例如对用户输入信息是否符合要求的处理. 1.首先对学生的 学号,姓名,性别,年龄,成绩这五个信息进行定义,为了不让所有人都能访问到,所

  • Java+Mysql学生管理系统源码

    最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤:  

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

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

  • JavaSwing实现小型学生管理系统

    本文实例为大家分享了JavaSwing实现小型学生管理系统的具体代码,供大家参考,具体内容如下 在项目中建立四个包,分别是com.wu.JavaBean.com.wuJavaDao.com.wu.JavaService.com.wu.JavaView 数据库表结构 学生表只有四个属性:学生姓名.学生性别.学生学号(主键).学生班级管理员表只有两个属性:管理员用户名(主键).管理员密码 这里笔者为了简单,学生表只写了四个属性,管理员表只写了两个属性. 在JavaBean新建Student和Root

  • Java基于MySQL实现学生管理系统

    本文为大家分享了Java基于MySQL实现学生管理系统,供大家参考,具体内容如下 因为实验室要交作业然后就做了一个学生管理系统,贴个代码纪念一下,做的太急界面什么的也比较差. 还有一些小细节没有完善不过还是能实现主要的功能的. Window是主界面 package First; import java.sql.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Window { pub

随机推荐