之前学了Java中的集合,打算写一个小程序来消化一下!

那么我们知道,集合相比数组的优点就是可以动态的增加元素,这对比数组来说,十分的便捷;

并且集合为我们封装好一些方法,可以更好的做一些数据操作!

首先创建一个学生类,代码如下:

  1. public class Student {
  2. private String name;
  3. private Integer age;
  4. private String address;
  5. private String stuID;
  6.  
  7. public Student(String name,Integer age,String address,String stuID){
  8. this.name = name;
  9. this.age = age;
  10. this.address = address;
  11. this.stuID = stuID;
  12. }
  13.  
  14. public String getName() {
  15. return name;
  16. }
  17. public Integer getAge(){
  18. return age;
  19. }
  20. public String getAddress(){
  21. return address;
  22. }
  23. public String getStuID(){
  24. return stuID;
  25. }
  26. }

这个学生类包含了姓名,年龄,地址,学号四个字段,来保存学生的个人信息;

然后创建一个主类,来实现CRUD操作!

增添学生:

通过数据库的知识我们知道,一个表中需要一个元素被设定为主键,方便和其他的表建立关系,那么在这里我们设定学号为主键,通过对学号,判断是否存在该学生,

如果有,则返回该学生信息,若没有,增加学生信息,代码如下:

  1. public static void addStudent() {
  2. Scanner sc = new Scanner(System.in);
  3. System.out.println("请输入学生的学号:");
  4. String stuID = sc.nextLine();
  5. Student student = getByStuIdStudent(stuID);
  6. if (student != null) {
  7. System.out.println("该学号已被其他学生使用!");
  8. return;
  9. }
  10. System.out.println("请输入学生姓名:");
  11. String name = sc.nextLine();
  12. System.out.println("请输入学生地址:");
  13. String address = sc.nextLine();
  14. System.out.println("请输入学生的年龄:");
  15. Integer age = sc.nextInt();
  16. stus.add(new Student(name, age, address, stuID));
  17. System.out.println("添加成功");
  18. }
  1. public static Student getByStuIdStudent(String stuID) {
  2. for (int i = 0; i < stus.size(); i++) {
  3. Student student = stus.get(i);
  4. if (student.getStuID().equals(stuID)) {
  5.  
  6. return student;
  7. }
  8. }
  9. return null;
  10. }

查看学生信息:

  1. public static void showStudent(){
  2. if(stus.size() == 0){
  3. System.out.println("该集合中无数据。。。。。");
  4. return;//程序不会继续向下执行
  5. }
  6. for(int i = 0;i< stus.size();i++){
  7. Student student = stus.get(i);
  8. System.out.println("姓名:" + student.getName() + " " + "年龄:" + student.getAge() + " " + "地址:" + student.getAddress() + " "+ "学号" + student.getStuID());
  9. }
  10. }

删除学生信息:

  1. public static void deleteStudent(){
  2. System.out.println("请输入删除学生的学号:");
  3. Scanner scanner = new Scanner(System.in);
  4. String stuID = scanner.nextLine();
  5. for (int i = 0;i<stus.size();i++){
  6. Student student = stus.get(i);
  7. if(student.getStuID().equals(stuID)){
  8. stus.remove(i);
  9. System.out.println("删除成功!!!");
  10. return;
  11. }
  12.  
  13. }

主函数代码:

  1. private static ArrayList<Student> stus = new ArrayList<Student>();
  2.  
  3. public static void main(String[] args) {
  4. while (true) {
  5. System.out.println("--欢迎来到学生信息管理系统---");
  6. System.out.println("1.新增学生");
  7. System.out.println("2.删除学生");
  8. System.out.println("3.查询学生");
  9. System.out.println("4.退出系统");
  10. System.out.println("请选择[1-4]");
  11. Scanner scanner = new Scanner(System.in);
  12. int number = scanner.nextInt();
  13. switch (number) {
  14. case 1:
  15. System.out.println("新增学生");
  16. addStudent();
  17. break;
  18. case 2:
  19. System.out.println("删除学生");
  20. deleteStudent();
  21. break;
  22. case 3:
  23. System.out.println("查询学生");
  24. showStudent();
  25. break;
  26. case 4:
  27. System.out.println("系统退出");
  28. return;
  29.  
  30. }
  31. }

利用Java集合实现学生信息的”增删查“的更多相关文章

  1. JAVA原生mvc实现用户信息的增删查改

    笔者最近学完jsp和servlet,于是心血来潮的打算写个简单的用户案例 环境准备: 开发工具eclipse jdk-1.8.0_72 tomcat-9.0.5 前端部分: 1.自己手写了一套样式 2 ...

  2. java实现简单的数据库的增删查改,并布局交互界面

        一.系统简介 1.1.简介  本系统提供了学生信息管理中常见的基本功能,主要包括管理员.管理员的主要功能有对学生信息进行增加.删除.修改.查找等操作,对信息进行管理,对信息进行修改.查找等操作 ...

  3. Java学生信息增删改查(并没用数据库)

    一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...

  4. JAVA课程设计-学生信息管理系统(个人博客)

    1. 团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模块或任务说明 负责person类的编写,建立person对象, 完成M ...

  5. Java用户名登录学生信息管理系统并对其进行增删改查操作

    package zzzzzzzz; import java.io.*;//作者:凯鲁嘎吉 - 博客园//http://www.cnblogs.com/kailugaji/ public class T ...

  6. Java课程设计---学生信息管理系统需求分析及总体设计

    按照软件工程实践的原则,开发大型程序需要经历需求分析.总体设计.详细设计.编码实现.系统测试.系统维护等几个阶段. 1.需求分析 本阶段是整个软件开发过程中最重要的环节.通过了解实际运行的系统或与用户 ...

  7. Spring Boot实现学生信息增删改查

    上一篇博客写了如何初始化一个简单的Spring Boot项目,这次详细记录一下如何连接数据库并实现增删改查基本操作. 我使用的是MySQL 5.5+Navicat,MySQL量级比较轻,当然微软的SQ ...

  8. MVC模式的学生信息增删改查

    准备:建一个名为 userdb的数据库.建一个student表,有stuid,stuname,gender三个字段.其中stuid为主键.j加入相应的驱动包,相应的JSTL标签 先看目录结构 代码: ...

  9. Sqlite3 实现学生信息增删改查

    import sqlite3 conn = sqlite3.connect('studentsdb.db') # 连接数据库 cursor = conn.cursor( ) # 创建数据表 def c ...

随机推荐

  1. 为什么Java有GC调优而没听说过有CLR的GC调优?

    前言 在很多的场合我都遇到过一些群友提这样的一些问题: 为什么Java有GC调优而CLR没有听说过有GC调优呢? 到底是Java的JVM GC比较强还是C#使用的.NET CLR的GC比较强呢? 其实 ...

  2. ASP.NET Core 6框架揭秘实例演示[29]:搭建文件服务器

    通过HTTP请求获取的Web资源很多都来源于存储在服务器磁盘上的静态文件.对于ASP.NET应用来说,如果将静态文件存储到约定的目录下,绝大部分文件类型都是可以通过Web的形式对外发布的." ...

  3. Modbus的设备怎么对接华为云 使用金鸽BL100只需要5步

    BL100是一款高性价比的Modbus转MQTT网关支持一键对接阿里云.华为云. BL100将Modbus串口设备的数据上传至华为云只需要简单五步 第一步.首先将Modbus的设备通过RS485接上M ...

  4. 转一篇MYSQL文章《数据库表设计,没有最好只有最适合》

    http://mp.weixin.qq.com/s/a8klpzM5iam0_JYSw7-U4g 我们在设计数据库的时候,是否会突破常规,找到最适合自己需求的设计方案,下面来举个例子: 常用的邻接表设 ...

  5. 精心总结十三条建议,帮你创建更合适的MySQL索引

    上篇文章讲到使用MySQL的Explain命令可以分析SQL性能瓶颈,优化SQL查询,以及查看是否用到了索引. 我们都知道创建索引可以提高查询效率,但是具体该怎么创建索引? 哪些字段适合创建索引? 哪 ...

  6. Javaweb06-JDBC

    1.jdbc.properties配置文件 jdbc.properties driverClass=com.mysql.jdbc.Driver jdbcUrl=jdbc:mysql://localho ...

  7. GCC常见命令

    rwx 对于目录和文件的区别 文件 目录 r 文件的内容可以被查看.支持cat.more.head...vim 目录的内容可以被查看.ls.tree w 文件的内容可以被添加.修改.删除.vim &g ...

  8. CF 559C - Gerald and Giant Chess (组合计数)

    \(C_{x+y}^y\)的公式,DP容斥删多余贡献. #include <cstdio> #include <iostream> #include <cstring&g ...

  9. React报错之Expected an assignment or function call and instead saw an expression

    正文从这开始~ 总览 当我们忘记从函数中返回值时,会产生"Expected an assignment or function call and instead saw an express ...

  10. Windows 注册表是什么?它的作用是什么?

    学习目的 了解 Windows 注册表的概念 了解 Windows 注册表的作用 注册表的概念 历史发展 在 Windows 3.x 操作系统中,注册表是一个极小文件,其文件名为 Reg.dat,里面 ...