学生管理系统相信大家都不会陌生,基本上每个人的变成道路上都会遇到他。是一个巩固基础的小项目。最开始我们可能使用数组来完成,随着往后的深入我们开始慢慢对类与对象有一个具体的了解,从而可以使用对象来完成这个项目。
那么今天我们就先来介绍一下数组版,也顺便解决一下关于二维数组的增、删、改、查问题。
流量警告!!!因为使用数组的原因,以下篇幅将会很长

以下所有代码均不是最简单和完善的,有很多地方并不完整。只作为一个二维数组的操作介绍,了解其中核心的内容即可。

废话不多说,我们首先创建两类(一个数组类一个测试类)。
数组类有一个私有的二维数组、一个赋值的构造方法、一个界面显示方法以及相关的增删改查方法定义

然后我们先从界面开始编写,毕竟不管逻辑能不能通过,样子还是要先有的

在这里我就先写增删改查四个功能,有想法的可以自行再进行添加与修改,然后我们在测试类中看看效果

一定要有写完一个逻辑测试一下的思想,这样可以避免光写最后测试发现第一个逻辑块就出错然后一个一个改的情况

然后测试类我们需要创建这个管理系统对象,然后导入Scanner并创建对象,加入循环体用来运行系统

然后完善一下switch内部,运行一下

那么接下来我们就要一步一步开始完善具体逻辑了,首先是查询功能。查询有两种情况,一种是有数据,一种是没有数据,有数据的查询又有两种情况
查询所有信息和查询单个学生信息,所以我们要分情况编写程序。

这里为了观看效果,我们在构造函数中插入了一组数据,然后进行测试

结果如下,由于篇幅原因,如果感兴趣可以自己测试部分逻辑,比如果数组是空的会不会结束逻辑等逻辑。

那么查询我们就到这里结束,接下来写增的逻辑代码,增的逻辑代码我们首先回顾一下之前的一维数组的增的过程
首先我们需要创建一个比原数组长度长的新数组
然后将原数组的所有内容复制到新数组,将要追加的内容放到最后一个数组元素中
最后将原数组的引用指向新数组就可以了
说完了过程下了就是需要注意的:二维数组和一维数组有一些不同,它要复制到新数组的和要插入的都是一个数组元素,所以需要注意

运行结果如下

增加写完了我们就要着手于删除了,删除的话我们依然回顾一下之前一维数组的内容,就不列举了,简单来说创建短数组,复制,改变引用三步,需要特别注意的是,如果数组已经是空的了则不能进行删除,所以需要我们进行判断。如果没有该学生则需要提示查无此人。


运行结果

最后也就是最简单的修改操作了,不过依然需要判断是否有这个学生才可以进行更改。我们定下一个原则,学号、姓名不可以修改

运行测试结果

这就是本次对于二维数组增删改查以及学生信息管理系统的一个简单介绍,这个属于一个很简陋的程序,有很多需要完善的地方,比如

  1. 没有循环增加、循环删除、循环修改的功能
  2. 没有将查找学生的功能以及一部分属性单独提出来,造成部分代码冗余

不过要表达的思路表达出来了,当然实际写的时候不会使用数组去写这个东西,算是给一些不熟悉数组的朋友一个介绍吧。

最后,不要忘记关Scanner输入流哦

Java学生管理系统(数组版)相关推荐

  1. 通过学生信息管理系统(数组版)学习C语言

    我的知识星球<C语言解惑课堂>的[第159篇]到[167篇]是学生信息管理系统(数组版)的一个C语言源码实现,[第340.341.342.343.344篇]详解了源码中的C程序知识点,需要 ...

  2. java学生管理系统(简易)(三)---教师端的登录主页面

    教师端的登录界面就比较清晰了...可能就我自己认为,以为前面写的太乱了...蒙圈 // 学会了先布局,在完善部分代码,嘤嘤嘤...之前那个学生的感觉凉凉啊~ // 有些代码中可能有main函数,有些没 ...

  3. java考勤管理系统源码java学生考勤请假系统java学生考勤管理系统 java考勤系统java学生信息管理系统java学生管理系统

    java考勤管理系统源码java学生考勤请假系统java学生考勤管理系统 java考勤系统java学生信息管理系统java学生管理系统 public Swingtest002() {// 设置标题se ...

  4. 第一篇博客,java学生管理系统(挑战全网最全)

    java学生信息管理系统,(课设必备),附有源码和简版链接 博主虽然技术不高,但是系统写的真的是没话说,留着开学java课设用了. 直接转载链接了,查看系统入口 https://blog.csdn.n ...

  5. java学生管理系统(swing) (没用数据库,附源码)

    如果有需要带数据库的,请小伙伴移步至:java+mysql学生管理系统(附源码,无套路) 事先声明: 程序简易,只是为了记录学习过程,大佬们勿喷,要实在忍不住,麻烦各位大佬轻点喷就是! 但是如果有任何 ...

  6. Java—学生管理系统使用文件永久存储

    学生管理系统 上一次使用的集合只能对学生信息进行临时存储,关闭程序时数据就会消失,这次新增了文件存储,达到对学生信息的永久记录,首先在上次代码的基础上,增加了两个方法,一个是从学生文件读取信息到集合中 ...

  7. 基于IDEA的Java学生管理系统

    1.创建学生类 package studentManager;public class Student {//定义成员变量private String num;//学号private String n ...

  8. 【java项目学习笔记】Java学生管理系统(纯后端基础--增删改查)

    学生管理系统 在一所学校中,对学生人员流动的管理是很麻烦的,本案例要求编写一个学生管理系统,实现对学生信息的添加.删除.修改和查询功能.每个功能的具体要求如下: 系统的首页 用于显示系统所有的操作,并 ...

  9. java学生管理系统代码_java学生信息管理系统(附源码)

    一:   介绍 1:实现登录界面 2:实现主界面 有两种操作 一种是按钮操作  另外一种是SQL语句. 3:连接SQL server 2008 数据库 用到的软件及环境SQLserver2008,ec ...

  10. android的学生管理系统,Android版学生管理系统

    用户可以输入姓名.性别.年龄三个字段,通过点击添加学生按钮,将学生信息展示到开始为空的ScrollView控件中,ScrollView控件只能包裹一个控件,我这里包裹的是LinearLayout.点击 ...

最新文章

  1. python怎么避免浅拷贝_详谈Python中的深拷贝和浅拷贝
  2. 项目描述_单元测试技巧:创建描述性测试
  3. HDU 6030 Happy Necklace
  4. python显示乱码_python2显示乱码问题实战详解
  5. HDFS QJM机制分析
  6. Rich feature hierarchies for accurate object detection and semantic segmentation(RCNN)
  7. iOS - Swift NSUserDefaults 数据存储
  8. ATL 中 USES_CONVERSION 的具体功能
  9. Windows Server 2008/2008 R2 各版本内存支持概要
  10. Android开机键失灵启动手机的解决的方法
  11. arm体系结构:arm920t
  12. 分了很多节的word文档,使用尾注插入的参考文献,最后怎么在参考文献之后加入致谢?
  13. 梦殇 chapter two
  14. UML需求分析步骤实例解析
  15. latex表格内部自定义换行
  16. 螺栓与螺栓组联接实验测试分析装置,QY-JXSX26
  17. Java Scanner类的方法及用法(很详细)
  18. 维基百科创建和百度百科建立有何不同?
  19. 神了,阿里数据库专家纯手写了这份604页的Oracle+MySQL攻坚指南
  20. ae渲染出现错误是什么问题_AE渲染写入文件错误“-1610153459”的解决方法

热门文章

  1. matlab图像显示 imagesc 和imshow
  2. 初级程序员考试大纲 (转)
  3. asp.net网上书店系统
  4. Skyline软件二次开发初级——6如何在WEB页面中的三维地图上进行坐标和方向计算...
  5. 软件开发项目中如何进行风险管理
  6. java控制台通讯录
  7. Coursera | Introduction to Data Analytics(IBM) | Final Assignment
  8. 适合初学者的PASCAL VOC2012数据集的下载及简单讲解
  9. “国际贸易付款方式”汇总解读!
  10. 锐捷Ruijie交换机补丁升级及补丁卸载