㈠、Student类,有构造、封装等操作。

在创建成员变量后,可以通过

快捷键:Alt Insert

快速完成无参构造函数,有参构造函数,以及成员变量的get,set封装函数哦~


package Student;
public class Student {private String age;private String name;public Student(){};public void show(){System.out.println(age+name); }public Student(String age,String name){this.name=name;this.age=age; }public void setAge(String age){this.age=age;}public String  getAge(){return age; }public void setName(String name){this.name=name; }public String getName(){return name; }
}

㈡、StudentTest测试类,也是运行的类。

大概思路就是:

一个主函数通过Switch功能选择,四个方法zeng(),shan(),gai(),cha()分别进行功能实现。


*其中用到了ArrayList<E>集合a来存储学生信息,不同于数组,它的长度可自由更改,具体用法参照另一篇文章:

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《Java速成(8/30)-集合类ArrayList<E>、泛型、增删查改》, 一起来围观吧 https://blog.csdn.net/m0_68079241/article/details/123625776?utm_source=app&app_version=5.2.1&code=app_1562916241&uLinkId=usr1mkqgl919blen


我们在增删改查学生信息时,一般通过new一个student类,创建对象s,令s=a.(i),以s为媒介执行一系列操作,而不用a(i),不方便*

[a.add(s)将s加入集合中。

a.remove(s)把集合中的s删掉。

a.set(j,s)替换j处s的信息。

s.getAge()    s.getName()获取对象s的信息。]


[写到这里我才发现我代码全程输入错误年纪打的年级,还有就是对象s我有的时候打的ss]


①在主函数中:

while(true)循环语句,避免执行一次系统就结束掉。再通过default中的:System.exit(0);实现退出循环,终止程序。


②在增加功能zeng()中:

如果集合a.size()==0,说明暂无学生信息,可以直接添加。a.size()不为0,则通过for循环遍历集合a,判断学生信息是否已经存在,不存在继续添加,已存在报错提示!


③在删除,修改,查询功能中,先看a.size()是否为0,为0提醒暂无学生信息,先去添加。

④删除修改功能大同小异,通过for循环,遍历集合,对比键盘录入的信息i和集合里的每个对象的s.getAge()信息,找到集合a里j处的对象:

student s=a.get(j);

if(i.equals(s.getAge()) );

这里用到了equals,不同于“==”的是:

==对比地址,equals对比内容。


package Student;import java.util.ArrayList;
import java.util.Scanner;public class StudentTest {public static void main(String[] args) {ArrayList<Student> a = new ArrayList<>();Scanner sc = new Scanner(System.in);while (true) {System.out.println("------学生管理系统---------");System.out.println("--1增2删3改4查5退出      --");System.out.println("--选择是:              --");System.out.println("------------------------");int choice = sc.nextInt();switch (choice) {case 1:zeng(a);break;case 2:shan(a);break;case 3:gai(a);break;case 4:cha(a);break;default:System.out.println("感谢使用!");System.exit(0);//java虚拟机退出break;}}}public static void zeng(ArrayList<Student> a) {Student s = new Student();Scanner sc = new Scanner(System.in);System.out.println("你要录入的学生的年级:");String ag = sc.nextLine();System.out.println("姓名:");String na = sc.nextLine();if (a.size() == 0) {s.setAge(ag);s.setName(na);a.add(s);} else {for (int j = 0; j < a.size(); j++) {Student ss = a.get(j);if (ag.equals(ss.getAge())) {System.out.println("该年级已存在");break;} else if (j == a.size() - 1) {s.setAge(ag);s.setName(na);a.add(s);System.out.println("学生信息已添加成功!");break;}}}System.out.println("继续增加请按1,退出增加请按2:");int c = sc.nextInt();if (c == 1) {zeng(a);}}public static void shan(ArrayList<Student> a) {if (a.size() != 0) {System.out.println("你要删除的学生的年级:");Scanner sc = new Scanner(System.in);String i = sc.nextLine();for (int j = 0; j < a.size(); j++) {Student ss = a.get(j);if (i.equals(ss.getAge())) {System.out.println("该学生的信息存在:年级和姓名是:" + ss.getAge() + "," + ss.getName());a.remove(ss);System.out.println("已删除!");break;} else if (j == a.size() - 1) {System.out.println("该学生的信息不存在");break;}}System.out.println("继续删除请按1,退出删除请按2:");int c = sc.nextInt();if (c == 1) {shan(a);}} else {System.out.println("学生信息数据库为空,请先增加学生信息!");}}public static void gai(ArrayList<Student> a) {if (a.size() != 0) {System.out.println("你要修改的学生的年级:");Scanner sc = new Scanner(System.in);String i = sc.nextLine();for (int j = 0; j < a.size(); j++) {Student ss = a.get(j);{if (i.equals(ss.getAge())) {System.out.println("该学生的信息存在:年级和姓名是:" + ss.getAge() + "," + ss.getName());System.out.println("请输入更改后的年级:");String g = sc.nextLine();System.out.println("请输入更改后的姓名:");String n = sc.nextLine();ss.setName(n);ss.setAge(g);a.set(j, ss);System.out.println("更改成功!");break;} else if (j == a.size() - 1) {System.out.println("该学生的信息不存在");break;}}}System.out.println("继续修改请按1,退出修改请按2:");int c = sc.nextInt();if (c == 1) {gai(a);}} else {System.out.println("暂无学生信息,请先增加录入!");}}public static void cha(ArrayList<Student> a) {if (a.size() != 0) {System.out.println("年级:");Scanner sc = new Scanner(System.in);String i = sc.nextLine();for (int j = 0; j < a.size(); j++) {Student ss = a.get(j);if (i.equals(ss.getAge())) {System.out.println("该学生的信息存在:年级和姓名是:" + ss.getAge() + "," + ss.getName());break;} else if (j == a.size() - 1) {System.out.println("该学生的信息不存在");break;}}System.out.println("继续查询请按1,退出查询请按2:");int c = sc.nextInt();if (c == 1) {cha(a);} else {}} else {System.out.println("暂无数据");}}
}

在每一个功能结束后我都会问是否重复这个功能,所以还有一个if语句。


另外代码写完一定很乱,怎么办?

全选,快捷键Ctrl+Alt+L可以帮你格式化~


他们是在同一个package--Student下的两个类,学生类和测试类。

运行软件为IDEA。环境java8


运行结果示意图:

 

Java学生管理系统-增删改查相关推荐

  1. java学生管理系统(增删改查存)

    说明: 1.期末结课做的简易的学生管理系统(java+mysql+excel+文本): 2.仅实现增删改查,显示,存储等界面操作: 实验报告如下: 1.数据库 2.需要添加额外的jar包(连接数据库或 ...

  2. Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】

    视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...

  3. C语言学生管理系统增删改查

    基于C语言和txt文件的增删改查 转载请注明出处 1.背景 本系统基于学生信息管理,完成了学生的信息的读取.增加.删除.修改.查询.本身意义可能不大,但是有很多学生再刚开始学习的时候,往往布置的大作业 ...

  4. python学生信息管理系统-增删改查-根据姓名查询

    学生信息管理系统 增删改查,求平均年龄,退出系统,根据姓名查询 def show_menu():print('*******欢迎使用学生管理系统*************')print('****** ...

  5. 基于springboot+thymeleaf+mybatis的员工管理系统 —— 增删改查

    员工管理系统 - 增删改查 entity 查询所有功能 查询所有的页面 emplist.html 保存员工 保存员工的页面 addEmp.html 删除员工 修改员工 根据id查询员工 修改员工信息 ...

  6. java中的数组增删查改操作,java数组实现增删改查

    java 实现动态数组,Java工具类Arrays中不得不知的常用方法,数组实现队列java,java数组实现增删改查 java 增删改查代码 import java.sql.Connection; ...

  7. VS2019 C# MySQL 学生信息增删改查(二、改查(续前节))

    VS2019 C# MySQL 学生信息增删改查 六.改 1.在FormXiuGai界面中拖入控件,更改相应的属性,如下图所示. 思路:先查找,再将查找到的数据显示在TextBox上,再进行修改.我这 ...

  8. WEB阶段7:综合练习-联系人管理系统-增删改查查询分页

    综合练习-联系人管理系统-增删改查&查询分页 回顾 能够说出过滤器的作用 解决全局乱码问题 用户权限访问控制 用户输入文本内容进行过滤 能够编写过滤器 创建一个类实现javax.servlet ...

  9. Maynor手把手教你完成一个SpringBoot+Vue+Element实现的SPA商品管理系统(增删改查)

    Maynor手把手教你完成一个SpringBoot+Vue+Element实现的SPA商品管理系统(增删改查) 前言 完整代码 三连后私信我获取~ 撸了一上午完成的SPA商品管理系统,求三连! B站演 ...

  10. 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!

    什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...

最新文章

  1. SUN 论坛http://forums.sun.com/forum.jspa?forumID=840
  2. 回顾2016,展望2017
  3. matlab仿真随机数的产生
  4. 转货币格式和 rgb转hex
  5. 对搜狗输入法的个人评价
  6. 进度条tqdm基本用法
  7. zepto源码研究 - ajax.js($.ajaxJSONP 的分析)
  8. 列表解析python_基于Python列表解析(列表推导式)
  9. 微课|玩转Python轻松过二级(3.1节):列表推导式与切片
  10. mybatisplus的逻辑删除
  11. python智能推荐系统教程_最新Python黑马头条推荐系统项目视频教程(精讲)
  12. office2021相对旧版本有哪些优势?
  13. .Net 配置系统-数据库配置提供者
  14. 直播数据采集的10个经典方法
  15. 软件开发外包的10个理由
  16. 计算机图形学基础1——MVP变换
  17. 2018电子商务证书计算机基础知识,2018银行春招笔试高频考点—常识百科之计算机基础知识...
  18. eygle 期待与拥抱变化 - 谈谈技术人的技术路
  19. Python中的 if 语句简单介绍,中英文完整理解
  20. 改进的RANSAC算法实现点云粗配准

热门文章

  1. 宝塔/Linux下自动更新maccms到github原版的最新版
  2. C语言中函数指针和指针函数
  3. 网页嵌入视频播放器代码大全
  4. MATLAB求解线性规划(含整数规划和0-1规划)问题
  5. PASCAL VOC数据集简介
  6. Vue3动态路由与路由守卫
  7. 计算机操作系统(第3版)课后习题答案(完整版)
  8. smarty3中文手册
  9. 微信台配置那服务器,微信配置
  10. 《架构之美》pdf书籍