【Java】升级版学生管理系统项目(上)

简介: 一、前言二、学生管理系统主要功能在学生类下在学生总部类下: main方法:登录密码验证:

一、前言


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


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


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


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


  • 增加学生信息


  • 删除学生信息


  • 修改学生信息


  • 查找学生信息


  • 查看所有学生信息


  • 退出学生管理系统


主干总览图:


微信图片_20220106105122.png


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


在学生类下


,就是普通的构造方法和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";
    }
}


在学生总部类下:


微信图片_20220106105223.png


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);
        }
    }}//密码验证
目录
相关文章
|
12天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
26 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
21天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
38 4
|
27天前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
36 3
|
1月前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
75 3
|
29天前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
43 1
|
1月前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
29 1
|
1月前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
42 2
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
Java
【Java】升级版学生管理系统项目(下)
打印菜单: 增加学生信息: 查看学生信息: 删除学生信息: 修改学生信息: 查找学生信息: 代码效果演示图:
207 0
【Java】升级版学生管理系统项目(下)
|
19天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####