Java学生管理系统-增删改查
㈠、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学生管理系统-增删改查相关推荐
- java学生管理系统(增删改查存)
说明: 1.期末结课做的简易的学生管理系统(java+mysql+excel+文本): 2.仅实现增删改查,显示,存储等界面操作: 实验报告如下: 1.数据库 2.需要添加额外的jar包(连接数据库或 ...
- Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】
视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...
- C语言学生管理系统增删改查
基于C语言和txt文件的增删改查 转载请注明出处 1.背景 本系统基于学生信息管理,完成了学生的信息的读取.增加.删除.修改.查询.本身意义可能不大,但是有很多学生再刚开始学习的时候,往往布置的大作业 ...
- python学生信息管理系统-增删改查-根据姓名查询
学生信息管理系统 增删改查,求平均年龄,退出系统,根据姓名查询 def show_menu():print('*******欢迎使用学生管理系统*************')print('****** ...
- 基于springboot+thymeleaf+mybatis的员工管理系统 —— 增删改查
员工管理系统 - 增删改查 entity 查询所有功能 查询所有的页面 emplist.html 保存员工 保存员工的页面 addEmp.html 删除员工 修改员工 根据id查询员工 修改员工信息 ...
- java中的数组增删查改操作,java数组实现增删改查
java 实现动态数组,Java工具类Arrays中不得不知的常用方法,数组实现队列java,java数组实现增删改查 java 增删改查代码 import java.sql.Connection; ...
- VS2019 C# MySQL 学生信息增删改查(二、改查(续前节))
VS2019 C# MySQL 学生信息增删改查 六.改 1.在FormXiuGai界面中拖入控件,更改相应的属性,如下图所示. 思路:先查找,再将查找到的数据显示在TextBox上,再进行修改.我这 ...
- WEB阶段7:综合练习-联系人管理系统-增删改查查询分页
综合练习-联系人管理系统-增删改查&查询分页 回顾 能够说出过滤器的作用 解决全局乱码问题 用户权限访问控制 用户输入文本内容进行过滤 能够编写过滤器 创建一个类实现javax.servlet ...
- Maynor手把手教你完成一个SpringBoot+Vue+Element实现的SPA商品管理系统(增删改查)
Maynor手把手教你完成一个SpringBoot+Vue+Element实现的SPA商品管理系统(增删改查) 前言 完整代码 三连后私信我获取~ 撸了一上午完成的SPA商品管理系统,求三连! B站演 ...
- 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!
什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...
最新文章
- SUN 论坛http://forums.sun.com/forum.jspa?forumID=840
- 回顾2016,展望2017
- matlab仿真随机数的产生
- 转货币格式和 rgb转hex
- 对搜狗输入法的个人评价
- 进度条tqdm基本用法
- zepto源码研究 - ajax.js($.ajaxJSONP 的分析)
- 列表解析python_基于Python列表解析(列表推导式)
- 微课|玩转Python轻松过二级(3.1节):列表推导式与切片
- mybatisplus的逻辑删除
- python智能推荐系统教程_最新Python黑马头条推荐系统项目视频教程(精讲)
- office2021相对旧版本有哪些优势?
- .Net 配置系统-数据库配置提供者
- 直播数据采集的10个经典方法
- 软件开发外包的10个理由
- 计算机图形学基础1——MVP变换
- 2018电子商务证书计算机基础知识,2018银行春招笔试高频考点—常识百科之计算机基础知识...
- eygle 期待与拥抱变化 - 谈谈技术人的技术路
- Python中的 if 语句简单介绍,中英文完整理解
- 改进的RANSAC算法实现点云粗配准