㈠、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. 与splash详解相关的
  2. 它来了!无人车穿梭在深圳的“宇宙最强街道”
  3. 【Android 逆向】IDA 工具使用 ( 十六进制视图 Hex View-1 | 结构体视图 Structures | 枚举视图 Enums | 导入视图 Import | 导出视图 )
  4. 还有 13 天,苹果就要关上 HTTP 大门了
  5. CRM下午茶(23)-维护客户关系的最佳工具
  6. ps命令与top命令参数意义详解
  7. C++程序员拼命工作却不顾身体,是不值得的!
  8. (转)Hadoop入门进阶课程
  9. 【FLink】Flink Forward Asia Hackathon (2021) 回顾
  10. Disruptor内存消息队列简单使用
  11. CSS3 修改和去除移动端点击事件出现的背景框
  12. 全球知名 CMS 提供商详细清单
  13. 数据库常见面试题 —— 3. 数据库去重的方法
  14. 北京地铁21号线_对接台湖地区 北京地铁17号线2022年试运营
  15. 全栈工程师是什么,为什么需要全栈工程师?
  16. Android:禁止APP录屏和截屏
  17. mLife | 朱永官院士提出生态系统微生物组学
  18. Security Shepherd实战笔记(答案)
  19. MySQL二维表转一维表
  20. python bs4 find_all_网络爬虫(三)BS4提取之find_all

热门文章

  1. matlab作图函数的总结与分析.pdf,Matlab作图函数的总结与分析_黄琼湘
  2. 远程迅雷linux,Ubuntu 14.04安装迅雷Xware过程笔记
  3. Spring Boot 国际化踩坑指南
  4. C语言数组和指针的区别
  5. 【机器人学导论知识点+习题笔记2.1~2.13】(间歇性更新)
  6. 计算机设备没有音频,计算机上没有音频设备是什么意思?
  7. 江苏计算机一级考试知识点,江苏计算机考试一级题型(江苏省计算机一级考试题型)...
  8. vs2003 下载地址
  9. 内码输入法手机版下载_win7 64位内码输入法下载
  10. 【历史上的今天】6 月 25 日:笔记本之父诞生;Windows 98 发布;通用产品代码首次商用