Java学生管理系统(数组版)

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

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

废话不多说,我们首先创建两类(一个数组类一个测试类)。
数组类有一个私有的二维数组、一个赋值的构造方法、一个界面显示方法以及相关的增删改查方法定义
Java学生管理系统(数组版)_第1张图片
然后我们先从界面开始编写,毕竟不管逻辑能不能通过,样子还是要先有的
Java学生管理系统(数组版)_第2张图片
在这里我就先写增删改查四个功能,有想法的可以自行再进行添加与修改,然后我们在测试类中看看效果

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

然后测试类我们需要创建这个管理系统对象,然后导入Scanner并创建对象,加入循环体用来运行系统
Java学生管理系统(数组版)_第3张图片
然后完善一下switch内部,运行一下
Java学生管理系统(数组版)_第4张图片
那么接下来我们就要一步一步开始完善具体逻辑了,首先是查询功能。查询有两种情况,一种是有数据,一种是没有数据,有数据的查询又有两种情况
查询所有信息和查询单个学生信息,所以我们要分情况编写程序。
Java学生管理系统(数组版)_第5张图片
这里为了观看效果,我们在构造函数中插入了一组数据,然后进行测试
Java学生管理系统(数组版)_第6张图片
结果如下,由于篇幅原因,如果感兴趣可以自己测试部分逻辑,比如果数组是空的会不会结束逻辑等逻辑。
Java学生管理系统(数组版)_第7张图片
那么查询我们就到这里结束,接下来写增的逻辑代码,增的逻辑代码我们首先回顾一下之前的一维数组的增的过程
首先我们需要创建一个比原数组长度长的新数组
然后将原数组的所有内容复制到新数组,将要追加的内容放到最后一个数组元素中
最后将原数组的引用指向新数组就可以了
说完了过程下了就是需要注意的:二维数组和一维数组有一些不同,它要复制到新数组的和要插入的都是一个数组元素,所以需要注意
Java学生管理系统(数组版)_第8张图片
运行结果如下
Java学生管理系统(数组版)_第9张图片
增加写完了我们就要着手于删除了,删除的话我们依然回顾一下之前一维数组的内容,就不列举了,简单来说创建短数组,复制,改变引用三步,需要特别注意的是,如果数组已经是空的了则不能进行删除,所以需要我们进行判断。如果没有该学生则需要提示查无此人。

Java学生管理系统(数组版)_第10张图片
运行结果
Java学生管理系统(数组版)_第11张图片
最后也就是最简单的修改操作了,不过依然需要判断是否有这个学生才可以进行更改。我们定下一个原则,学号、姓名不可以修改
Java学生管理系统(数组版)_第12张图片
运行测试结果
Java学生管理系统(数组版)_第13张图片
这就是本次对于二维数组增删改查以及学生信息管理系统的一个简单介绍,这个属于一个很简陋的程序,有很多需要完善的地方,比如

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

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

最后,不要忘记关Scanner输入流哦
Java学生管理系统(数组版)_第14张图片

你可能感兴趣的:(类与对象)