Java学生管理项目练习

Java初学 同时被 2 个专栏收录
7 篇文章 0 订阅
5 篇文章 0 订阅

学生管理项目概要

通过创建学生类和集合<学生类型>来实现添加学生、删除学生、修改学生信息、查看所有学生信息等功能,从而完成对学生数据的管理。

1.思维导图

  1. 首先我们需要构建Student类,以满足实例化学生的要求
  2. 创建StudentManager类,从而实现系统初始化页面设计和学生管理系统的基本功能;

在这里插入图片描述

2.程序大致实现流程

  1. 进入系统时需要出现一个系统界面,且附带有提示信息
  2. 通过键盘输入提示信息,使程序进入相应的函数方法从而对学生集合进行管理;
  3. 并同时创建学生类

2.1流程图
在这里插入图片描述
2.2 学生类的创建
采用标准格式创建Student类

public class Student {

    private String sid;

    private String name;

    private String age;

    private String address;

    public Student() {
    }

    public Student(String sid, String name, String age, String address) {
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    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 getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

3.学生管理类中先从方法实现入手

3.1 addStudent();方法实现
3.1.1 流程图

在这里插入图片描述
3.1.2 addStudent();代码

public static void addStudent(ArrayList<Student> arr) {
        String sid = new String();
        Scanner sc = new Scanner(System.in);
        Student student = new Student();
        System.out.println("新增学生学号:");
        sid = sc.next();
        while (isSameSid(arr,sid)){
            System.out.println("此学号已存在请重新输入学号:");
            sid = sc.next();
        }
        student.setSid(sid);
        System.out.println("新增学生姓名:");
        String name = sc.next();
        student.setName(name);
        System.out.println("新增学生年龄:");
        String age = sc.next();
        student.setAge(age);
        System.out.println("新增学生家庭地址:");
        String address = sc.next();
        student.setAddress(address);
        arr.add(student);

3.2 deleteStudent();方法实现
3.2.1 流程图
在这里插入图片描述
3.2.2 deleteStudent();代码

    public static void deleteStudent(ArrayList<Student> arr) {
    
        int a = 0;  //创建循环中间变量用于判断循环是否检测到与输入相同的学号
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入删除学生的学号:");
        String str = sc.next();

        for (int i = 0; i < arr.size(); i++) {
            Student stu = arr.get(i);
            if (stu.getSid().equals(str)) {
                arr.remove(i);
                a += 1;
                System.out.println("删除完毕");
            }
        }
        if (a == 0) {  //中间变量为0,说明没有检测到该学号
            System.out.println("未查询到此学号信息!");
        }
    }

3.3 updateStudent();方法实现
3.3.1 流程图
在这里插入图片描述
3.3.2 updateStudent();代码

    public static void updateStudent(ArrayList<Student> arr) {

        int i = 0;  //创建循环中间变量用于判断循环是否检测到与输入相同的学号
        Scanner sc = new Scanner(System.in);
        System.out.println("输入需要修改信息的学生学号");
        String str = sc.next();
        for (Student stu : arr) {  //使用foreach循环来遍历
            if (stu.getSid().equals(str)) {
                System.out.println("输入学生的新姓名:");
                String name = sc.next();
                stu.setName(name);
                System.out.println("输入学生的新年龄:");
                String age = sc.next();
                stu.setAge(age);
                System.out.println("输入学生的新地址:");
                String address = sc.next();
                stu.setAddress(address);
                i += 1;
                System.out.println("更新完毕");
            }
        }
        if (i == 0) {  //中间变量为0,说明没有检测到该学号
            System.out.println("未查询到此学号信息!");
        }
    }

3.4findAllStudent();方法实现
3.4.1 流程图
在这里插入图片描述
3.4.2 findAllStudent();代码

public static void findAllStudent(ArrayList<Student> arr) {

        if (arr.size() == 0) {
            System.out.println("学生信息为空!请输入学生信息后再查询哦!");
            //return表示直接返回,不再向下执行
            return;
        }
        System.out.println("学号\t\t" + "姓名\t\t" + "年龄\t\t" + "居住地");
        for (int i = 0; i < arr.size(); i++) {
            Student student = arr.get(i);
            System.out.println(student.getSid() + "\t\t" + student.getName() + "\t\t" + student.getAge() + "\t\t" + student.getAddress());
        }

    }

3.5 isSameStudent();方法实现
3.5.1 流程图
在这里插入图片描述
3.5.2 isSameStudent();代码

public static boolean isSameSid(ArrayList<Student> arr, String id){
        //判断是否有相同的学号
        boolean flag = false;
        for (Student student : arr){
            if (student.getSid().equals(id)){
                flag = true;
                break;
            }
        }
        return flag;
    }

3.6 管理系统界面设置

public static int UI() {
        Scanner sc = new Scanner(System.in);

        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("请输入您的选择:");
        int str0 = sc.nextInt();

        return str0;

    }

4.程序入口

现在只需要通过if分支语句判断键盘输入的数字即可选择性的进入不同的方法。

  1. 首先创建用于收集学生类的集合;
  2. 通过在while循环内调用UI();方法,可以反复的读取用户需求;

代码

public class StudentManager {

    public static void main(String[] args) {

        //创建集合用于存放Student对象
        ArrayList<Student> array = new ArrayList<Student>();

        while (true) {
            int str = UI();
            if (str == 1) {
                addStudent(array);
                System.out.println("添加完毕");
            } else if (str == 2) {
                deleteStudent(array);
            } else if (str == 3) {
                updateStudent(array);
            } else if (str == 4) {
                findAllStudent(array);
            } else {
                System.out.println("谢谢使用!");
                break;
            }
        }
    }

			//添加管理学生各类方法;
}
程序完成编写!!!接下来就可以测试啦!
  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

<p> <strong><span style="font-size:20px;color:#FF0000;">本课程演示的<span>是一套基于SSM框架实现的酒店管理系统,</span>主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习Java学习者。</span></strong> </p> <p> <br /> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">1. 包含:<span style="color:#FFFF00;background-color:#FF0000;">项目源码、项目文档、数据库脚本、软件工具</span>等所有资料</span></strong></span> </p> <p> <span style="color:#FF0000;font-size:18px;"><strong><span>2. 手把手的带你从零开始部署运行本套系统</span></strong></span> </p> <p> <span style="color:#FF0000;font-size:18px;"><strong><span>3. 该项目附带的源码资料可作为毕设使用</span></strong></span> </p> <p> <span style="color:#FF0000;font-size:18px;"><strong><span>4. 提供技术答疑和远程协助指导</span></strong></span> </p> <p> <strong><span><span style="font-size:18px;"><br /> </span></span><span><span style="font-size:20px;">技术实现:</span></span></strong> </p> <p> <strong><span style="color:#494429;font-size:18px;">1. 后台框架:Spring、SpringMVC、MyBatis</span></strong> </p> <p> <strong><span style="color:#494429;font-size:18px;">2. UI界面:BootStrap、JSP、jQuery</span></strong> </p> <p> <strong><span style="color:#494429;font-size:18px;">3. 数据库:MySQL</span></strong> </p> <p> <strong><span style="color:#494429;font-size:18px;"><br /> </span></strong> </p> <p> <span style="color:#FF0000;"><strong><strong><span><strong><span style="font-size:20px;color:#000000;"></span></strong></span></strong></strong><strong><strong><span><strong><span style="font-size:20px;color:#000000;"></span></strong></span></strong></strong><strong><strong><span><strong><span style="font-size:20px;color:#000000;"></span></strong></span></strong></strong></span> </p> <p> <span style="font-size:20px;color:#494429;"><strong>项目截图</strong></span><span style="font-size:20px;"><strong>:</strong></span> </p> <p> <strong><span style="font-size:18px;">1)系统登陆界面</span></strong> </p> <p> <img src="https://img-bss.csdn.net/202003160644304457.png" alt="" /> </p> <p> <span style="color:#262626;"><strong><strong><span style="color:#FF0000;"><span style="font-size:18px;color:#000000;"></span></span></strong></strong></span><strong><strong><span style="color:#FF0000;"><strong><span style="font-size:18px;color:#000000;"><strong><span>2)客房预订</span></strong></span></strong></span></strong></strong> </p> <p> <strong><strong><span style="color:#FF0000;"><strong><span style="font-size:18px;color:#000000;"><strong><span><img src="https://img-bss.csdn.net/202003160644376426.png" alt="" /><br /> </span></strong></span></strong></span></strong></strong> </p> <p> <strong><strong><span style="color:#FF0000;"><strong><span style="font-size:18px;color:#000000;"><strong><span><strong><span>3)住宿登记</span></strong></span></strong></span></strong></span></strong></strong> </p> <p> <strong><strong><span style="color:#FF0000;"><strong><span style="font-size:18px;color:#000000;"><strong><span><strong><span><img src="https://img-bss.csdn.net/202003160644464949.png" alt="" /><br /> </span></strong></span></strong></span></strong></span></strong></strong> </p> <p> <strong><span style="font-size:18px;">4)旅客管理</span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202003160644535071.png" alt="" /><br /> </span></strong> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">更多Java毕设项目请关注【毕设系列课程】<a href="https://edu.csdn.net/lecturer/2104">https://edu.csdn.net/lecturer/2104</a></span></strong></span> </p>
相关推荐
<p> <strong> </strong> </p> <p class="MsoNormal" style="text-align:left;margin-left:21pt;text-indent:21pt;"> <br /> </p> <p class="MsoNormal"> <strong><span style="font-size:18px;"></span></strong> </p> <p class="ql-long-24357476"> <strong><span style="font-size:18px;color:#E53333;"><strong>想学好</strong></span><strong><span style="font-size:18px;color:#E53333;">JAVA必须要报两万的培训班吗?</span></strong><span style="color:#E53333;"></span><span id="__kindeditor_bookmark_start_82__"></span><br /> </strong> </p> <p class="ql-long-24357476"> <span id="__kindeditor_bookmark_end_83__"></span><strong><span style="color:#337FE5;">【课程背景】</span></strong> </p> <p class="ql-long-24357476"> <strong>JAVA是市场份额最大的编程语言,每天各大招聘网站上都会有数万个JAVA开发工程师的在招岗位,但是JAVA的技术体系庞大复杂,要想扎实掌握JAVA不是一件容易的事,线上学习相比线下两万起的高昂费用便宜了很多,而且具备学习时间灵活的优势,但是线上学习的劣势也很明显,没有线下那种学习氛围,碰到问题没法解决,在家学习很容易偷懒,极简JAVA学习营充分考虑到这些问题,通过每日实战编程练习,分队pk,助教答疑,作业点评,作业讲解,项目答辩等诸多环节充分激发你的学习热情,解决你学习中碰到的问题,让你花十分之一的钱学到JAVA的精髓,开启你的人生逆袭之路。</strong> </p> <p class="ql-long-24357476"> <strong><br /> </strong> </p> <strong><span style="color:#337FE5;">【专项的贴心服务】</span> <p class="ql-long-24357476"> 1. 学练结合:定期布置视频任务和编程实战练习:通过每天的视频任务统一大家的进度,以便同学更好的交流,针对每天的任务会有相应的编程实战练习,通过练习内化知识。<br /> 2. 分队PK:将就业营的同学分成几队,通过作业统计表统计每队提交作业情况进行PK,激发你的学习动力。<br /> 3. 助教讲师答疑:碰到任何问题,发到群里,助教和讲师十分钟内帮你解决问题,扫清学习中的障碍。<br /> 4. 助教点评讲解作业:你每天提交作业都会有助教进行点评,让你知道有什么问题怎么解决,每三天一次视频讲解作业,互动解答问题<br /> 5. 项目答辩:每个阶段学完会有项目答辩,通过做项目巩固前一阶段的知识点,锻炼编码能力。 </p> <p class="ql-long-24357476"> <img src="https://img-bss.csdnimg.cn/202007070905305336.png" alt="" /> </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">【往期训练营学习展示】</span> </p> <p class="ql-long-24357476"> <img src="https://img-bss.csdnimg.cn/202007070914574571.png" alt="" /> </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">【套餐内容简介】</span> </p> <p class="ql-long-24357476"> 本套课以市场就业和职位需求为核心,从JAVA入门到多领域实战,设计出学习路线,共分为二十大模块,分别是:JAVA面向对象、Object类与常用API、集合框架、IO流、反射注解、多线程与网络编程、Object类与常用API等等。 </p> <p> 同时采用理论讲解加实战演练的方式,既能让学员听懂听明白达到理解透彻,又能够在一个个真实实战案例中,让学员掌握真正有用的开发技能,从而进阶 JAVA 工程师! </p> <p> <br /> </p> <p class="ql-long-24357476"> 套餐中一共包含21门JAVA程,助你从零进阶JAVA工程师! </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">阶段一:</span><span style="color:#337FE5;">JAVA</span><span style="color:#337FE5;">基</span><span style="color:#337FE5;">础</span> </p> <p class="ql-long-24357476"> 课程1:《极简JAVA学习营开营篇》 </p> <p class="ql-long-24357476"> 课程2:《极简JAVAJAVA面向对象》 </p> <p class="ql-long-24357476"> 课程3:《极简JAVA:Object类与常用API》 </p> <p class="ql-long-24357476"> 课程4:《极简JAVA:集合框架》 </p> <p class="ql-long-24357476"> 课程5:《极简JAVA:IO流》 </p> <p class="ql-long-24357476"> 课程6:《极简JAVA:反射注解》 </p> <p class="ql-long-24357476"> 课程7:《极简JAVA:多线程与网络编程》 </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">阶段二:</span><span style="color:#337FE5;">数据库入门</span> </p> <p class="ql-long-24357476"> 课程8:《极简JAVA:MySql数据库》 </p> <p class="ql-long-24357476"> 课程9:《极简JAVA:JDBC与连接池》 </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">阶段三:</span><span style="color:#337FE5;">JAVA WEB</span> </p> <p class="ql-long-24357476"> 课程10:《极简JAVA:HTML5与CSS3》 </p> <p class="ql-long-24357476"> 课程11:《极简JAVA:极简JAVA十一:Javascript与Jquery》 </p> <p> 课程12:《极简JAVA:BootStrap》 </p> <p class="ql-long-24357476"> 课程13:《极简JAVAJAVA Web》 </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">阶段四:框架实战</span> </p> <p class="ql-long-24357476"> 课程14:《极简JAVA:Mavean入门》 </p> <p class="ql-long-24357476"> 课程15:《极简JAVA:MyBatis框架》 </p> <p class="ql-long-24357476"> 课程16:《极简JAVA:Spring框架》 </p> <p class="ql-long-24357476"> 课程17:《极简JAVA:Spring Mvc》 </p> <p class="ql-long-24357476"> <span id="__kindeditor_bookmark_end_251__"></span><span id="__kindeditor_bookmark_end_247__"></span>课程18:《极简JAVA:Oracle数据库》 </p> <p class="ql-long-24357476"> 课程19:《极简JAVA:Git入门》 </p> <p class="ql-long-24357476"> 课程20:《极简JAVA:Linux入门》 </p> <p class="ql-long-24357476"> 课程21:《极简JAVA:SpringBoot》 </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">【课程特色】</span> </p> <p class="ql-long-24357476"> 1、易理解:讲师思路清晰、节奏明确、从易到难讲解透彻明白; </p> <p class="ql-long-24357476"> 2、知识全:知识全面系统,从JAVA入门到实战,由易到难,让你彻底掌握JAVA开发; </p> <p class="ql-long-24357476"> 3、重实战:涵盖大量实战项目,锻炼你的动手实操能力,面向工作编程; </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">【面向人群】</span> </p> <p class="ql-long-24357476"> 1、在校计算机专业或者对软件编程感兴趣的学生; </p> <p class="ql-long-24357476"> 2、零基础想学JAVA却不知道从何入手 </p> <p class="ql-long-24357476"> 3、囊中羞涩,面对两万起的JAVA培训班不忍直视 </p> <p class="MsoNormal"> 4、在职没有每天大块的时间专门学习JAVA </p> </strong>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值