上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

0基础JAVA撸一个简易的学生管理系统

[复制链接]

136

主题

417

帖子

447

积分

版主

Rank: 7Rank: 7Rank: 7

积分
447

猫咪币纪念章三好学生活跃会员热心会员突出贡献中秋纪念章国庆纪念章宣传达人推广达人

发表于 2021-4-22 22:45:27 | 显示全部楼层 | 阅读模式

本帖最后由 小陈 于 2021-4-23 16:23 编辑

前言

唉..吐了,本来整挺详细的.....结果手残点到了关闭其他所有标签页....然后...然后就全没了...直接人傻掉.....大概凭借刚才的记忆写一点....

至于为啥要用java去写个这玩意...主要是补之前的课程..课设好像听说使用java去开发点小东西,然后就写个这个东西大概了解上手一下java...完全0基础,所以会涉及一些基础概念的补充。个人习惯快速入门一门语言的方法是去实战写一些小项目,碰到什么问题解决什么问题即可。

功能

添加学生,删除学生,修改学生,查看所有学生,退出

实战

学生类

image.png

创建一个学生类 通过alt+ins 可以直接构造方法,set,get等等.

Private

private是一个权限修饰符,代表最小权限。 private 不但可以修饰成员变量也可以修饰成员方法,被private修饰过的成员变量和成员方法,只能在本类中才能访问

set/get

set是设置的意思,而get是获取的意思

这里补充下 psvm+回车 直接生成main

sout+回车 直接生成输出函数

结果如图

image.png

主界面的编写

这里在java中我们要记录用户的输入数据,需要导入一个java包

import java.util.Scanner;

在使用之前我们要进行这个操作

Scanner sc = new Scanner(System.in);

主界面编写如图

image.png

我们想当用户选择指定数字的时候对应相应的功能 这里我们使用switch语句进行操作

switch

switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 }

switch应该用法都一样只不过我平时使用的比较少,这种情况我好像大概一般都去用if了

image.png

补充:这里昨天刚开始用switch会报错 提示switch语句内不允许有字符串 在设置里面将版本调为7即可

当用户选择5的时候我们希望这个程序退出

程序终止

System.exit(0)

程序终止我们要用到这个基础命令

同样的当用户输入其他数字的时候,我们希望操作执行完毕之后回到主页面。

我们这里使用while死循环实现

image.png

到这里我们这个简易的学生管理系统的主界面就完成了.

添加学生功能

image.png

首先用户输入.

创建学生变量并进行赋值

image.png

image.png

添加学生功能学号之后,我们肯定是要调用的 需要在switch里面调用

由于添加学生我们传入参数是数组 所以这里我们需要先定义一个数组,然后再去调用

image.png

查看所有学生

首先定义方法

image.png

这里用for循环循环获取数据并且打印出来,这里的for循环好像跟js还是python的差不多,基本上都是这样用就直接写了

image.png

最后在前面switch里面调用一下我们测试一下

image.png

格式不太好看,大概调整一下就可以了

当然为了防止在没有数据的情况下,用户输入了4查看所有学生,这个时候我们是需要给一个提示的,让用户去添加数据

image.png

equals

String s1,s2,s3 = "abc", s4 ="abc" ;
s1 = new String("abc");
s2 = new String("abc");

s1==s2   是 false      //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,

s1.equals(s2) 是 true    //两个变量的所包含的内容是abc,故相等。

删除学生信息

image.png

代码比较简单,就不多解释了唯一需要注意的是上面那个equals

修改学生信息

image.png

用户在进行修改学生信息的时候,首先进行判断如果没有信息直接结束子程序,如果有信息 则让录入信息 然后再学生信息里面进行遍历对比,找到了对应的sid,进行替换,如果没有找到则提示” 请输入正确学号“

同样处理到这里我们意识到 删除那个子程序我们也要进行相关的判断与修改

我们将删除学生信息的代码进行相关的修改

image.png

细节补充

这个程序到这里我们基本搞定,但是还有一个小的bug,就是学号重复的问题,不可否认的是我们这个系统肯定不会存在重复学号的现象,每个学生对应一个学号,但是我们现在写的录入信息子程序,是可以录入多个重复的数据的。

假设一下,如果同时录入了两个信息,我们再删除和修改的时候 遍历检索到第一个进行操作,第二个数据我们会跳过,所以不能有重复的学号出现,现在我们对,第一个添加学生的子程序进行修改。

修改的思路很简单 在添加之前我们遍历所有的数据,如果有重复的就提示重复,如果没有重复的,程序正常运行即可.

这里我的方法可能复杂了,但是对数组操作不太熟练这里先这样处理,代码有点长了但是需求是达到了

首先判断有没有学号,如果没有学号直接录入,如果有了再开始进行判断

image.png

image.png

结果图:

image.png

到这里我们简单的学生管理系统就已经写好了.

完结

这个东西很简单整体不算非常复杂,本来昨天晚上就已经搞定了的...但是因为帖子没存上就延缓了下,今天抽空搞定了这个东西。

第一次用java语言去写东西,结合了相关的资料,整体来讲语言语法方面,大部分语言都是通用的,但是java用起来还是不太熟练,有很多细节的东西需要完善,数组操作,正则,网络请求,很多东西还没有看,有机会想尝试写写apk玩玩,要讲安卓程序,可能大概...很久之前用e4a写过点简单的东西,再就是前两天autojs根据控件操作和简单的找图搞的小脚本。不过说实话,感觉那个东西没必要那么复杂...脚本这个东西...控件玩不明白,光会一个简单的找图,也能完成一些简单的自动化操作吧。

总而言之,言而总之...想搞一个东西方法很多,语言都是通用的..尽力就好了...溜了溜了 不吹牛逼了

image.png
image.png
image.png
bilibili:陈公子的话   公众号:陈公子的话

136

主题

417

帖子

447

积分

版主

Rank: 7Rank: 7Rank: 7

积分
447

猫咪币纪念章三好学生活跃会员热心会员突出贡献中秋纪念章国庆纪念章宣传达人推广达人

发表于 2021-4-23 16:24:16 | 显示全部楼层
哥哥 底下自动多的那几张图....我没办法删...这好像dz自己的问题...
bilibili:陈公子的话   公众号:陈公子的话
回复

使用道具 举报

30

主题

142

帖子

104

积分

版主

Rank: 7Rank: 7Rank: 7

积分
104

猫咪币纪念章突出贡献热心会员活跃会员

发表于 2021-4-24 14:55:02 | 显示全部楼层
哥哥牛逼!
一叶叶,一声声,空阶滴到明。
回复

使用道具 举报

84

主题

847

帖子

683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
683

猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

发表于 2021-4-25 10:08:43 | 显示全部楼层
小陈 发表于 2021-4-23 16:24
哥哥 底下自动多的那几张图....我没办法删...这好像dz自己的问题...

是的,dz的问题。。。这编辑器不是很好用
上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
回复

使用道具 举报

发表回复

本版积分规则

快速回复 返回顶部 返回列表