利用Java集合实现学生信息的”增删查“
之前学了Java中的集合,打算写一个小程序来消化一下!
那么我们知道,集合相比数组的优点就是可以动态的增加元素,这对比数组来说,十分的便捷;
并且集合为我们封装好一些方法,可以更好的做一些数据操作!
首先创建一个学生类,代码如下:
- public class Student {
- private String name;
- private Integer age;
- private String address;
- private String stuID;
- public Student(String name,Integer age,String address,String stuID){
- this.name = name;
- this.age = age;
- this.address = address;
- this.stuID = stuID;
- }
- public String getName() {
- return name;
- }
- public Integer getAge(){
- return age;
- }
- public String getAddress(){
- return address;
- }
- public String getStuID(){
- return stuID;
- }
- }
这个学生类包含了姓名,年龄,地址,学号四个字段,来保存学生的个人信息;
然后创建一个主类,来实现CRUD操作!
增添学生:
通过数据库的知识我们知道,一个表中需要一个元素被设定为主键,方便和其他的表建立关系,那么在这里我们设定学号为主键,通过对学号,判断是否存在该学生,
如果有,则返回该学生信息,若没有,增加学生信息,代码如下:
- public static void addStudent() {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入学生的学号:");
- String stuID = sc.nextLine();
- Student student = getByStuIdStudent(stuID);
- if (student != null) {
- System.out.println("该学号已被其他学生使用!");
- return;
- }
- System.out.println("请输入学生姓名:");
- String name = sc.nextLine();
- System.out.println("请输入学生地址:");
- String address = sc.nextLine();
- System.out.println("请输入学生的年龄:");
- Integer age = sc.nextInt();
- stus.add(new Student(name, age, address, stuID));
- System.out.println("添加成功");
- }
- public static Student getByStuIdStudent(String stuID) {
- for (int i = 0; i < stus.size(); i++) {
- Student student = stus.get(i);
- if (student.getStuID().equals(stuID)) {
- return student;
- }
- }
- return null;
- }
查看学生信息:
- public static void showStudent(){
- if(stus.size() == 0){
- System.out.println("该集合中无数据。。。。。");
- return;//程序不会继续向下执行
- }
- for(int i = 0;i< stus.size();i++){
- Student student = stus.get(i);
- System.out.println("姓名:" + student.getName() + " " + "年龄:" + student.getAge() + " " + "地址:" + student.getAddress() + " "+ "学号" + student.getStuID());
- }
- }
删除学生信息:
- public static void deleteStudent(){
- System.out.println("请输入删除学生的学号:");
- Scanner scanner = new Scanner(System.in);
- String stuID = scanner.nextLine();
- for (int i = 0;i<stus.size();i++){
- Student student = stus.get(i);
- if(student.getStuID().equals(stuID)){
- stus.remove(i);
- System.out.println("删除成功!!!");
- return;
- }
- }
主函数代码:
- private static ArrayList<Student> stus = new ArrayList<Student>();
- public static void main(String[] args) {
- while (true) {
- System.out.println("--欢迎来到学生信息管理系统---");
- System.out.println("1.新增学生");
- System.out.println("2.删除学生");
- System.out.println("3.查询学生");
- System.out.println("4.退出系统");
- System.out.println("请选择[1-4]");
- Scanner scanner = new Scanner(System.in);
- int number = scanner.nextInt();
- switch (number) {
- case 1:
- System.out.println("新增学生");
- addStudent();
- break;
- case 2:
- System.out.println("删除学生");
- deleteStudent();
- break;
- case 3:
- System.out.println("查询学生");
- showStudent();
- break;
- case 4:
- System.out.println("系统退出");
- return;
- }
- }
利用Java集合实现学生信息的”增删查“的更多相关文章
- JAVA原生mvc实现用户信息的增删查改
笔者最近学完jsp和servlet,于是心血来潮的打算写个简单的用户案例 环境准备: 开发工具eclipse jdk-1.8.0_72 tomcat-9.0.5 前端部分: 1.自己手写了一套样式 2 ...
- java实现简单的数据库的增删查改,并布局交互界面
一.系统简介 1.1.简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员.管理员的主要功能有对学生信息进行增加.删除.修改.查找等操作,对信息进行管理,对信息进行修改.查找等操作 ...
- Java学生信息增删改查(并没用数据库)
一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...
- JAVA课程设计-学生信息管理系统(个人博客)
1. 团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模块或任务说明 负责person类的编写,建立person对象, 完成M ...
- Java用户名登录学生信息管理系统并对其进行增删改查操作
package zzzzzzzz; import java.io.*;//作者:凯鲁嘎吉 - 博客园//http://www.cnblogs.com/kailugaji/ public class T ...
- Java课程设计---学生信息管理系统需求分析及总体设计
按照软件工程实践的原则,开发大型程序需要经历需求分析.总体设计.详细设计.编码实现.系统测试.系统维护等几个阶段. 1.需求分析 本阶段是整个软件开发过程中最重要的环节.通过了解实际运行的系统或与用户 ...
- Spring Boot实现学生信息增删改查
上一篇博客写了如何初始化一个简单的Spring Boot项目,这次详细记录一下如何连接数据库并实现增删改查基本操作. 我使用的是MySQL 5.5+Navicat,MySQL量级比较轻,当然微软的SQ ...
- MVC模式的学生信息增删改查
准备:建一个名为 userdb的数据库.建一个student表,有stuid,stuname,gender三个字段.其中stuid为主键.j加入相应的驱动包,相应的JSTL标签 先看目录结构 代码: ...
- Sqlite3 实现学生信息增删改查
import sqlite3 conn = sqlite3.connect('studentsdb.db') # 连接数据库 cursor = conn.cursor( ) # 创建数据表 def c ...
随机推荐
- 为什么Java有GC调优而没听说过有CLR的GC调优?
前言 在很多的场合我都遇到过一些群友提这样的一些问题: 为什么Java有GC调优而CLR没有听说过有GC调优呢? 到底是Java的JVM GC比较强还是C#使用的.NET CLR的GC比较强呢? 其实 ...
- ASP.NET Core 6框架揭秘实例演示[29]:搭建文件服务器
通过HTTP请求获取的Web资源很多都来源于存储在服务器磁盘上的静态文件.对于ASP.NET应用来说,如果将静态文件存储到约定的目录下,绝大部分文件类型都是可以通过Web的形式对外发布的." ...
- Modbus的设备怎么对接华为云 使用金鸽BL100只需要5步
BL100是一款高性价比的Modbus转MQTT网关支持一键对接阿里云.华为云. BL100将Modbus串口设备的数据上传至华为云只需要简单五步 第一步.首先将Modbus的设备通过RS485接上M ...
- 转一篇MYSQL文章《数据库表设计,没有最好只有最适合》
http://mp.weixin.qq.com/s/a8klpzM5iam0_JYSw7-U4g 我们在设计数据库的时候,是否会突破常规,找到最适合自己需求的设计方案,下面来举个例子: 常用的邻接表设 ...
- 精心总结十三条建议,帮你创建更合适的MySQL索引
上篇文章讲到使用MySQL的Explain命令可以分析SQL性能瓶颈,优化SQL查询,以及查看是否用到了索引. 我们都知道创建索引可以提高查询效率,但是具体该怎么创建索引? 哪些字段适合创建索引? 哪 ...
- Javaweb06-JDBC
1.jdbc.properties配置文件 jdbc.properties driverClass=com.mysql.jdbc.Driver jdbcUrl=jdbc:mysql://localho ...
- GCC常见命令
rwx 对于目录和文件的区别 文件 目录 r 文件的内容可以被查看.支持cat.more.head...vim 目录的内容可以被查看.ls.tree w 文件的内容可以被添加.修改.删除.vim &g ...
- CF 559C - Gerald and Giant Chess (组合计数)
\(C_{x+y}^y\)的公式,DP容斥删多余贡献. #include <cstdio> #include <iostream> #include <cstring&g ...
- React报错之Expected an assignment or function call and instead saw an expression
正文从这开始~ 总览 当我们忘记从函数中返回值时,会产生"Expected an assignment or function call and instead saw an express ...
- Windows 注册表是什么?它的作用是什么?
学习目的 了解 Windows 注册表的概念 了解 Windows 注册表的作用 注册表的概念 历史发展 在 Windows 3.x 操作系统中,注册表是一个极小文件,其文件名为 Reg.dat,里面 ...