Java-黑马Java学习项目--学生管理系统增删改查功能

这篇具有很好参考价值的文章主要介绍了Java-黑马Java学习项目--学生管理系统增删改查功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学生管理系统

学生管理系统实现步骤

  • 案例需求

    ​ 针对目前我们的所学内容,完成一个综合案例:学生管理系统。该系统主要功能如下:

    ​ 添加学生:通过键盘录入学生信息,添加到集合中

    ​ 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除

    ​ 修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改

    ​ 查看学生:将集合中的学生对象信息进行展示

    ​ 退出系统:结束程序

  • 实现步骤

    1. 定义学生类,包含以下成员变量

      ​ private String sid // 学生id

      ​ private String name // 学生姓名

      ​ private String age // 学生年龄

      ​ private String address // 学生所在地

    2. 学生管理系统主界面的搭建步骤

      2.1 用输出语句完成主界面的编写
      2.2 用Scanner实现键盘输入
      2.3 用switch语句完成选择的功能
      2.4 用循环完成功能结束后再次回到主界面

    3. 学生管理系统的添加学生功能实现步骤

      3.1 定义一个方法,接收ArrayList集合
      3.2 方法内完成添加学生的功能
      ​ ①键盘录入学生信息
      ​ ②根据录入的信息创建学生对象
      ​ ③将学生对象添加到集合中
      ​ ④提示添加成功信息
      3.3 在添加学生的选项里调用添加学生的方法

    4. 学生管理系统的查看学生功能实现步骤

      4.1 定义一个方法,接收ArrayList集合
      4.2 方法内遍历集合,将学生信息进行输出
      4.3 在查看所有学生选项里调用查看学生方法

    5. 学生管理系统的删除学生功能实现步骤

      5.1 定义一个方法,接收ArrayList集合
      5.2 方法中接收要删除学生的学号
      5.3 遍历集合,获取每个学生对象
      5.4 使用学生对象的学号和录入的要删除的学号进行比较,如果相同,则将当前学生对象从集合中删除
      5.5 在删除学生选项里调用删除学生的方法

    6. 学生管理系统的修改学生功能实现步骤

      6.1 定义一个方法,接收ArrayList集合
      6.2 方法中接收要修改学生的学号
      6.3 通过键盘录入学生对象所需的信息,并创建对象
      6.4 遍历集合,获取每一个学生对象。并和录入的修改学生学号进行比较.如果相同,则使用新学生对象替换当前学生对象
      6.5 在修改学生选项里调用修改学生的方法

    7. 退出系统

      使用System.exit(0);退出JVM

学生类的定义

package studentAdministerSystem.firstStuSystem;

public class Student {
private String id;
private String name;
private int age;
private String address;

public Student() {
}

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

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

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

public String getAddress() {
    return address;
}

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

}

测试类的定义

package studentAdministerSystem.firstStuSystem;

import java.util.ArrayList;
import java.util.Scanner;

public class firstStudentSystem {
/案例需求
​ 针对目前我们的所学内容,完成一个综合案例:学生管理系统。该系统主要功能如下:
​ 添加学生:通过键盘录入学生信息,添加到集合中
​ 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除
​ 修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改
​ 查看学生:将集合中的学生对象信息进行展示
​ 退出系统:结束程序
/
public static void main(String[] args) {
System.out.println(“1:添加学生信息”);
System.out.println(“2:删除学生信息”);
System.out.println(“3:修改学生信息”);
System.out.println(“4:查询学生信息”);
System.out.println(“5:退出”);
Student stu = new Student();
Scanner sc = new Scanner(System.in);

    ArrayList<Student> list = new ArrayList<>();
    //loop:
    while (true){
        String choose = sc.next();
        switch (choose){
            case "1":
                addStudent(list);
                break;
            case "2":
                deleteStudent(list);
                break;
            case "3":
                alterStudent(list);
                break;
            case "4":
                queryStudent(list);
                break;
            case "5":
            {
                System.out.println("退出");
                //break loop;
                System.exit(0);//停止虚拟机运行
            }
            default:
                System.out.println("没有这个选项");
        }
    }
}


public static void addStudent(ArrayList<Student> list){
    Student stu = new Student();
    Scanner sc = new Scanner(System.in);
    String id = null;
    while(true){
        System.out.println("请输入学生的id");
        id = sc.next();
        boolean flag =contain(list,id);
        if (flag){
            System.out.println("id已经存在,请重新输入");
        }else{
            stu.setId(id);
            break;
        }
    }
    System.out.println("请输入学生的姓名");
    String name = sc.next();
    stu.setName(name);
    System.out.println("请输入学生的年龄");
    int age = sc.nextInt();
    stu.setAge(age);
    System.out.println("请输入学生的住址");
    String address = sc.next();
    stu.setAddress(address);

    //把学生对象放在集合中
    list.add(stu);
    //提示用户信息添加成功
    System.out.println("学生信息添加成功");
}

//删除学生信息
public static void deleteStudent(ArrayList<Student> list){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入要删除学生的id");
    String id = sc.next();
    //查询id在集合中的索引
    int index = getIndex(list, id);
    if(index>=0){
        list.remove(index);
        System.out.println("id为"+id+"的学生信息删除成功");
    }else{
        System.out.println("id不存在,请重新输入");
        return;
    }

}

//修改学生信息
public static void alterStudent(ArrayList<Student> list){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入修改学生的id");
    String id = sc.next();
    int index = getIndex(list,id);
    if(index ==-1){
        System.out.println("要修改的id" + id + "不存在,请重新输入");
        return;
    }

    //当代码执行到这里,表示什么?表示当前id是存在的。
    //获取要修改的学生对象
    Student stu = list.get(index);
    //输入其他的信息并修改
    System.out.println("请输入要修改的学生姓名");
    String newname = sc.next();
    stu.setName(newname);

    System.out.println("请输入要修改的学生年龄");
    int newAge = sc.nextInt();
    stu.setAge(newAge);

    System.out.println("请输入要修改的学生家庭住址");
    String newAddress = sc.next();
    stu.setAddress(newAddress);

    System.out.println("学生信息修改成功");

}

//查询学生信息
public static void queryStudent(ArrayList<Student> list){
    if(list.size()==0){
        System.out.println("当前无学生信息");
        //结束方法
        return;
    }
    //打印表头信息
    for (int i = 0; i < list.size(); i++) {
        Student stu = list.get(i);
        System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
    }

}

//判断id在集合中是否存在
public static boolean contain(ArrayList<Student> list , String id){
    /*循环遍历集合中的每一个元素
    下边的可以简写为return getIndex(list,id)=0;
     */
    for (int i = 0; i < list.size(); i++) {
        Student Stu = list.get(i);
        String Sid = Stu.getId();
        if(Sid.equals(id)){
            return true;
        }
    }
    return false;
}
//获取id的索引
public static int getIndex(ArrayList<Student> list,String id){
    for (int i = 0; i < list.size(); i++) {
        Student stu = list.get(i);
        String Sid = stu.getId();
        //集合中的学生id和要查询的id进行比较
        if(Sid.equals(id)){
            return i;
        }
    }
    return -1;
}

}文章来源地址https://www.toymoban.com/news/detail-789829.html

到了这里,关于Java-黑马Java学习项目--学生管理系统增删改查功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用Java实现学生管理系统(附项目详细的介绍和源代码)

    前言 :最近练习了用Java语言实现简单的 学生管理系统小项目 ,分享一下。 Ps:原创不易,请多多支持! 摘要分析如下: 实现的主要功能: 1,添加学生信息。 2,查询学生信息(实现了单个学生信息查询 所有学生信息查询)。 3,修改学生信息。 4,删除学生信息(实现了单个

    2024年02月08日
    浏览(82)
  • 基于Java和MySQL实现的大学生学籍管理系统(毕业设计附完整项目代码)

    本课题下的功能要求有: 实现学生信息、班级、院系、专业等的管理 实现课程、学生成绩信息管理 实现学生的奖惩信息管理 创建规则用于限制性别项只能输入“男”或“女” 创建视图查询各个学生的学号、姓名、班级、专业、院系 创建存储过程查询指定学生的成绩单 创建

    2024年02月11日
    浏览(54)
  • java 学生信息管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

    一、源码特点     java 学生信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java 学生信息管理系统 二、

    2024年02月09日
    浏览(52)
  • 基于JAVA大学生创新创业项目管理系统设计与实现(Springboot框架) 研究背景与意义、国内外研究现状

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月03日
    浏览(52)
  • 通讯录管理系统(个人学习笔记黑马学习)

    通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C++来实现一个通讯录管理系统系统中需要实现的功能如下: 添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人 显示联系人:显示通讯录中所有联系人信息 删除联系

    2024年02月10日
    浏览(96)
  • 期末考试还缺项目吗?黑马的图书借阅管理系统很香

    提示:黑马程序员的云借阅管理系统, 后端ssm框架, 前端jQuery, layui,模板引擎为thymeleaf。 有需要的小伙伴可以三连, 我会私聊你发源码。 提示:视频观看地址 bibi视频项目展示 提示:管理员全部功能, 用户部分功能 登录分为管理员登录, 普通用户登录, 不同身份登录拥有的权限

    2024年02月12日
    浏览(52)
  • Vue项目:学生管理系统

    💂 个人主页:  陶然同学 🤟 版权:  本文由【陶然同学】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、 欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 💅  想寻找共同成长的小伙伴,请点击【 Java全栈开发社区 】 步骤1:设置导航  步骤2:添加路由 步

    2024年02月02日
    浏览(39)
  • QT项目-学生管理系统

      本文章主要讲解本人在QT学习期间所开发的项目-学生管理系统,代码主要参考于网上查找。  功能主要包括,学生信息的插入删除,以及修改。 再加上按照id,或者成绩的升降序排序 1.pro 2.widget.h 3. main.cpp 4.widget.cpp 5.widget.ui 总结 项目处于学习阶段所做,参考了一些网络上

    2024年02月12日
    浏览(37)
  • 学生管理系统-01项目简介

    一、项目简介 项目名称:学生管理系统 项目功能 用户管理 用户登录 用户的注册 用户增加 用户删除 用户的修改 学生管理 用户的列表渲染 用户的分页操作 用户的搜索 用户的增加 用户删除 用户编辑 excel报表的导出 班级管理 专业管理 班主任管理 教师管理 课程管理 可视化

    2024年02月15日
    浏览(42)
  • 学生管理系统-03项目案例(3)

    一、用户列表 1、编写api接口 2、表格渲染 3、分页 4、搜索功能 首先在data中的query对象中添加type和value属性 页面中进行布局 5、注册 略 6、修改用户 在api接口中编写修改方法 为编辑按钮绑定事件 在data中定义 在methods中定义一个修改方法 使用深浅拷贝解决修改中的一个问题

    2024年02月15日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包