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

简介: 打印菜单:增加学生信息:查看学生信息:删除学生信息:修改学生信息:查找学生信息:代码效果演示图:

打印菜单:


  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);
               int kc=0;
               for (int i = 0; i < arrayList.size(); i++) {
                Student stu1 = arrayList.get(i);
                if(arrayList.size()>1&&(stu1.getNumber().equals(number)&&stu1.getClassroom().equals(classroom))){
                    kc++;
                    System.out.println("添加失败,已经存在此学号在同一班");break;
                }
                   if(name1.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0) {
                       System.out.println("有某项为空,添加失败");  break;
                   }
                if (stu1.getName().equals(name)&&kc==0) {
                    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("你查找的学生不存在");
            }
        }
    }//找信息


代码效果演示图:


微信图片_20220106105505.png

目录
相关文章
|
1月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
16天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
89 26
|
28天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
46 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
25天前
|
设计模式 消息中间件 搜索推荐
Java 设计模式——观察者模式:从优衣库不使用新疆棉事件看系统的动态响应
【11月更文挑战第17天】观察者模式是一种行为设计模式,定义了一对多的依赖关系,使多个观察者对象能直接监听并响应某一主题对象的状态变化。本文介绍了观察者模式的基本概念、商业系统中的应用实例,如优衣库事件中各相关方的动态响应,以及模式的优势和实际系统设计中的应用建议,包括事件驱动架构和消息队列的使用。
|
27天前
|
Java
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
|
1月前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
44 4
|
1月前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
45 3
|
1月前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
55 1
|
7月前
|
JavaScript Java 测试技术
基于Java的通讯录管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的通讯录管理系统的设计与实现(源码+lw+部署文档+讲解等)
183 5
|
设计模式 前端开发 Java
Java通讯录管理系统
使用DAO分层设计模式设计了通讯管理系统 使用了c3p0地址池和dbutils,没有写前端,连接的是mysql数据库,不涉及到太多的技术,仅供入门JDBC的小伙伴参考一下
Java通讯录管理系统