Java 实现完整功能的学生管理系统实例

目录
  • 一、前言
  • 二、学生管理系统主要功能
    • 在学生类下
    • 在学生总部类下:
    • main方法:
    • 登录密码验证:
    • 打印菜单:
    • 增加学生信息:
    • 查看学生信息:
    • 删除学生信息:
    • 修改学生信息:
    • 查找学生信息:
    • 代码效果演示图:

一、前言

我们前面写了通讯录管理系统,现在我们来写个学生管理系统,

其实主干代码都一 不过,在学生管理系统中我添加和优化了许多功能,

如【登录密码验证,异常处理,非空判断,,防止重复添加】等。

二、学生管理系统主要功能

  • 增加学生信息
  • 删除学生信息
  • 修改学生信息
  • 查找学生信息
  • 查看所有学生信息
  • 退出学生管理系统

主干总览图:

我们分成了许多的方法模块,便于调用。

在学生类下

就是普通的构造方法和get和set方法,还有一个重写的toString方法

(Alt+Insert可以快速生成上述的所有)

package 学生管理系统;

public class Student {
    private String name;
    private String age;
    private String sex;
    private String number;
    private String classroom;
    public Student(){}
    public Student(String name, String age, String sex, String classroom,String number) {
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.classroom = classroom;
        this.number=number;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getClassroom() {
        return classroom;
    }

    public void setClassroom(String classroom) {
        this.classroom = classroom;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

重写toString方法是为了让我们设置好的方式去显示:

    @Override
    public String toString() {

        return "名字:"+name+" |性别:"+sex+" |年龄:"+age+"  |学号:"+number+"  |班级:"+classroom+"\n";
    }
}

在学生总部类下:

main方法:

public static void main(String[] args) {
        ArrayList<Student> arrayList=new ArrayList<Student>();
        password();//密码验证
        while(true){
            menu();//菜单
            Scanner sc=new Scanner(System.in);
            try{
                int num=sc.nextInt();
                switch(num){
                    case 1:{
                        addStudent(arrayList);break;
                    }
                    case 2:{
                        deleteStudent(arrayList);break;
                    }
                    case 3:{
                        reviseStudent(arrayList);break;
                    }
                    case 4:{
                       oneStudent(arrayList);break;
                    }
                    case 5:{
                        checkStudent(arrayList);break;
                    }
                    case 6:{
                        System.out.println("退出成功");
                        System.exit(0);
                    }
                    default:{
                        System.out.println("输入错误,输入0-6之间的数字");break;
                    }
                }}
            catch(Exception e){
                e.printStackTrace();
                System.out.println("你的输入是非数字,请输入0-6的数字");
            }
        }
    }//main方法

登录密码验证:

  public static void password(){
        System.out.println("***欢迎来到学生管理系统***");
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入管理员密码:");
        String s="键盘敲烂";
       int  sum=3;
       while(true){
        String ss=sc.nextLine();
        if(ss.equals(s)){
            System.out.println("验证成功!");break;
        }else{sum--;
            System.out.print("密码错误,你还有"+sum+"次机会:");
        }
        if(sum==0){
            System.out.println("输入上限,再见!");
            System.exit(0);
        }
    }}//密码验证

打印菜单:

  public static void menu(){
        System.out.println("-------欢迎来到学生管理系统-------");
        System.out.println("1.增加学生");
        System.out.println("2.删除学生");
        System.out.println("3.修改学生");
        System.out.println("4.查找学生");
        System.out.println("5.查看所有学生");
        System.out.println("6.退出");
        System.out.println("请选择:");
    }//打印菜单页

增加学生信息:

 public static void addStudent(ArrayList<Student> arrayList){
        Scanner sc1=new Scanner(System.in);
        System.out.print("请输入姓名:");
        String name=sc1.nextLine();
        System.out.print("请输入年龄:");
        String age=sc1.nextLine();
        System.out.print("请输入性别:");
        String sex=sc1.nextLine();
        System.out.print("请输入学号:");
        String number=sc1.nextLine();
        System.out.print("请输入班级:");
        String classroom=sc1.nextLine();
        Student stu=new Student();
        stu.setAge(age);
        stu.setClassroom(classroom);
        stu.setName(name);
        stu.setSex(sex);
        stu.setNumber(number);
         int kong=0;//用来定义是否已经存在的学号
        for (int i=0;i<arrayList.size();i++){
            Student s=arrayList.get(i);
            if((arrayList.size())>1&&(s.getNumber().equals(number))&&(s.getClassroom().equals(classroom))){
                System.out.println("添加失败,你输入的学号在同一班级已存在");kong++;//存在就加一
                arrayList.remove(stu);
            }
        }
            if(name.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0||kong!=0){
                System.out.println("有某项为空或学号在同一班已存在,添加失败");
                arrayList.remove(stu);//移除该项
            } else{
                arrayList.add(stu);
                System.out.println("添加成功");}
    }//加信息

查看学生信息:

 public static void checkStudent(ArrayList<Student> array){

        if(array.isEmpty()){
            System.out.println("这里没有任何信息,请添加后查看!");
        }else{
            System.out.println(array);}
    }//查信息

删除学生信息:

 public static void deleteStudent(ArrayList<Student> array){
        if(array.isEmpty()){
            System.out.println("这里没有任何信息,请添加后在进行操作!");
        }else{
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入你要删除信息的名字");
            String str=sc.nextLine();
            int sum=0;
            for(int i=0;i<array.size();i++){
                Student s = array.get(i);
                if(s.getName().equals(str)){
                    array.remove(i);sum++;
                    System.out.println("删除成功");
                }
            }if(sum==0){
                System.out.println("没有该信息,删除失败!");
            }
        }
    }//删信息

修改学生信息:

  public static void reviseStudent(ArrayList<Student> arrayList){
        if(arrayList.isEmpty()){
            System.out.println("没有任何信息,请输入后在进行操作!");
        }else {
            int sum=0;
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你要换信息的名字");
            String name=sc.nextLine();
        for(int i=0;i<arrayList.size();i++){
           Student s1=arrayList.get(i);
            if(s1.getName().equals(name)){
               sum++;
           }
       }
           if(sum!=0){
               Scanner sc1=new Scanner(System.in);
               System.out.print("请输入姓名:");
               String name1=sc1.nextLine();
               System.out.print("请输入年龄:");
               String age=sc1.nextLine();
               System.out.print("请输入性别:");
               String sex=sc1.nextLine();
               System.out.print("请输入学号:");
               String number=sc1.nextLine();
               System.out.print("请输入班级:");
               String classroom=sc1.nextLine();
               Student stu=new Student();
               stu.setAge(age);
               stu.setClassroom(classroom);
               stu.setName(name1);
               stu.setSex(sex);
               stu.setNumber(number);
               for (int i = 0; i < arrayList.size(); i++) {
                Student stu1 = arrayList.get(i);
                if (stu1.getName().equals(name)) {
                    arrayList.set(i, stu);
                    System.out.println("修改成功");break;
                }
            }}if(sum==0){
                System.out.println("修改失败,没有找到对应的名字");
            }
        } }//改信息

查找学生信息:

 public static void oneStudent(ArrayList<Student> arrayList){
        if (arrayList.isEmpty()){
            System.out.println("没有学生信息,请添加后再查找");
        }else{
            Scanner sc=new Scanner(System.in);
            System.out.print("请输入你要查找学生的名字:");
            String name=sc.nextLine();
            int sum=0;
            for(int i=0;i<arrayList.size();i++){
                Student stu=arrayList.get(i);
                if(stu.getName().equals(name)){sum++;
                   System.out.println("姓名:"+stu.getName()+"  年龄:"+stu.getAge()+"  性
    别:"+stu.getSex()+"  班级:"+stu.getClassroom()+"  学号:"+stu.getNumber());
                }
            }if(sum==0){
                System.out.println("你查找的学生不存在");
            }
        }
    }//找信息

代码效果演示图:

到此这篇关于Java 实现完整功能的学生管理系统实例的文章就介绍到这了,更多相关Java 学生管理系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java实现简单学生管理系统项目

    本文实例为大家分享了java实现简单学生管理系统的具体代码,供大家参考,具体内容如下 功能: 1.增加学生 2.查看学生 3.根据学号修改学生信息 4.根据学号查看某一个学生信息 5.根据性别查看同性别的所有学生 6.根据学号删除某一个学生 7.按照学号升序排序(默认) 8.按照年龄降序排序 Student 类- - -学生的javabean类 package com.studentByArray.www; public class Student { //定义一个Student类{学号.姓名.

  • java基于jdbc实现简单学生管理系统

    目录 工具类 工程目录: 运行截图: 这个是java连接mysql数据库的一个简单学生系统,通过jdbc连接数据库. 工具类 JDBCuntils. package Student; import java.io.IOException; import java.sql.*; import java.util.Properties; //数据库的工具类 public class JDBCuntils { private static String driver = ""; privat

  • 利用Java写一个学生管理系统

    目录 前言: 其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swing来做一个有界面的学生管理系统.其实都并不会太难. 我先写一个简单的用List来实现学生管理系统: 首先,管理系统是针对学生对象的,所以我们先把学生对象写出来: package bean; public class Student { String name; String student

  • java实现学生管理系统(面向对象)

    本文实例为大家分享了java实现学生管理系统的具体代码,供大家参考,具体内容如下 import java.util.Iterator; import java.util.Scanner; import java.util.Set; import java.util.TreeSet; /** * 学生管理系统 * 1.添加学生(不可以重复添加,学生的学号决定是否为同一个学生,学生按照学号进行排序) * 2.可以查看学生信息(包括,学号,姓名,性别,联系电话,年龄) * a.查看所有学生信息 * b

  • Java实现学生管理系统详解

    目录 总结 学生管理系统(Java版) 前言:这个是大二做的课设(还是学生管理系统-),理论上虽然是4个人一组一起做的,但是,注意这个"但是",还是我一个人承担了所有-代码和文档基本都是我一个人写的,当初直接肝得吐血,这也是为啥后面的 Web 版部分功能没有完成的原因. 项目介绍 项目分为一个JavaSwing写的GUI桌面应用和一个半成品的Web应用,下图是项目的整体功能结构展示 JavaSwing JavaSwing这里使用的是 MyBatis + Spring 的框架组合,后面发

  • java学生管理系统界面简单实现(全)

    学生管理系统简单的实现,供初学Java Swing同学学习使用. import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import jav

  • java设计简单学生管理系统

    本文实例为大家分享了java学生成绩管理系统,供大家参考,具体内容如下 要求: 完善Student类,Student类包含学号.姓名.年级.专业.三门功课的成绩(英语.高数.计算机)的成员变量,完善成绩录入方法.设计按学号查找方法.按姓名查找方法.按单科成绩排序的方法. 设计主类,实例化包含5个学生信息的学生数组,查找某一个学生的信息并打印出来,同时打印这5个学生按某一科成绩的按高到低的排序信息(学号.姓名.成绩):输出所有学生的三门单科平均成绩. 首先先创建一个student类 使用构造方法来

  • Java实现学生管理系统

    项目描述:通过管理员帐号登录,对学员信息进行管理.可以实现学员信息的增加.修改.删除.查询. 知识点:数组.do{}while循环.for循环.if语句.switch条件语句 学生管理系统的流程图 import java.util.Scanner; public class Stu{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); boolean flag = false; int stuN

  • Java 实现完整功能的学生管理系统实例

    目录 一.前言 二.学生管理系统主要功能 在学生类下 在学生总部类下: main方法: 登录密码验证: 打印菜单: 增加学生信息: 查看学生信息: 删除学生信息: 修改学生信息: 查找学生信息: 代码效果演示图: 一.前言 我们前面写了通讯录管理系统,现在我们来写个学生管理系统, 其实主干代码都一 不过,在学生管理系统中我添加和优化了许多功能, 如[登录密码验证,异常处理,非空判断,,防止重复添加]等. 二.学生管理系统主要功能 增加学生信息 删除学生信息 修改学生信息 查找学生信息 查看所有学

  • C++实现完整功能的通讯录管理系统详解

    目录 一.确定结构体 二.简易菜单 三.为通讯录添加功能 四.各功能与实现详解 功能之添加联系人 功能之显示联系人 功能之查找联系人 功能之修改联系人 功能之删除联系人 功能之清空通讯录 四.源码 五.运行效果 运行效果图 生成可执行程序 结语 一.确定结构体 通讯录里应该存有联系人的信息,包括姓名.性别.电话.地址等等,通讯录也应该有长度,存的联系人要有上限.所以我们这样确定结构体: #define Max 1000 struct person { string m_Name; string

  • Java编写多功能万年历程序的实例分享

    这里的万年历制作主要用到了Calendar类和GregorianCalendar类,我们先来回顾一下基础知识: 基础部分 一.Calendar类. 1,主要字段: YEAR(年份).MONTH(月份从0开始).DATE(一月的某天).HOUR(指示上午或下午的小时).HOUR_F_DAY(指示一天中的小时.).DAY_OF_WEEK (一个星期中的某天).DAY_OF_MONTH(一个月中的某天).DAY_OF_YEAR(一年中的某天).DAY_OF_WEEK _IN_MONTH(一个月中的第几

  • Vue项目之学生管理系统实例详解

    目录 查询学生 添加学生 修改学生 删除学生 总结 查询学生 步骤1:设置导航 步骤2:添加路由 步骤3:创建页面 步骤: 步骤1:准备2个变量(pageInfo.studentVo) 步骤2:编写查询condition函数,接收参数num 步骤3:页面加载成功时,查询第一页 步骤4:遍历结果 <template> <div> 班级: <select v-model = "studentVo.cid"> <option value="

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

    本文实例为大家分享了Java实现简单学生管理系统的具体代码,供大家参考,具体内容如下 名为StudentManageTest的Java测试类 import java.util.Scanner;   public class StudentManageTest {     public static void main(String[] args) {         StudentManage stu = new StudentManage();         Scanner sc = new

  • Android 实例开发一个学生管理系统流程详解

    目录 效果演示 实现功能总览 代码 登录与忘记密码界面 一.添加布局文件 二.添加标题文字 三.绑定适配器 注册界面 一.创建两个Drawable文件 二.将其添加数组内 三.动态变化背景 考勤界面 一.CircleProgressBar代码如下 签到界面 一.倒计时 二.位置签到 成绩查询界面 一.创建StackAdapter 适配器 效果演示 随手做的一个小玩意,还有很多功能没有完善,倘有疏漏,万望海涵. 实现功能总览 实现了登录.注册.忘记密码.成绩查询.考勤情况.课表查看.提交作业.课程

  • java控制台实现学生管理系统

    本文实例为大家分享了java控制台实现学生管理系统的具体代码,供大家参考,具体内容如下 编写一个学生成绩管理程序.学生的属性包括学号.姓名.年龄等.每个学生要学习若干课程,每门课程有平时成绩.期中考试成绩.实习成绩.期末考试成绩以及总评成绩等多个成绩,其中平时成绩的数目不定(因为不同课程的教师布置的平时作业数不同),而总评成绩是其它成绩的平均值.请先设计合理的对象容器类存放这些信息,然后设计程序完成以下功能: 1)列出某个学生的所有成绩: 2)列出某门课程每个学生的总评成绩,及所有学生总评成绩的

  • Python实现功能全面的学生管理系统

    本文实例为大家分享了Python实现学生管理系统的具体代码,供大家参考,具体内容如下 功能描述 1.分为两个界面:(1)登录和注册界面 (2)学生管理系统界面2.登录功能和之前发布的图书管理系统相同,登录成功后可进入学生管理系统界面,这里不再叙述3.系统功能(1)添加学生信息(2)删除学生信息(3)修改学生信息(4)查询学生信息(5)显示所有学生信息(6)退出4.有很多地方增加了优化,也进行了完善,如模块导入.登录注册以及回车不修改等功能.整个程序代码大概200行. 注意:代码分为两个模块,需要

随机推荐