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

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

[复制链接]
  • TA的每日心情
    擦汗
    昨天 08:59
  • 签到天数: 532 天

    [LV.9]以坛为家II

    148

    主题

    420

    回帖

    1215

    积分

    版主

    积分
    1215

    油中2周年生态建设者

    发表于 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根据控件操作和简单的找图搞的小脚本。不过说实话,感觉那个东西没必要那么复杂...脚本这个东西...控件玩不明白,光会一个简单的找图,也能完成一些简单的自动化操作吧。

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

    I don't hate programming but the fucking world.
  • TA的每日心情
    擦汗
    昨天 08:59
  • 签到天数: 532 天

    [LV.9]以坛为家II

    148

    主题

    420

    回帖

    1215

    积分

    版主

    积分
    1215

    油中2周年生态建设者

    发表于 2021-4-23 16:24:16 | 显示全部楼层
    哥哥 底下自动多的那几张图....我没办法删...这好像dz自己的问题...
    I don't hate programming but the fucking world.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-2-28 14:15
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    37

    主题

    233

    回帖

    363

    积分

    版主

    积分
    363

    油中2周年生态建设者

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

    使用道具 举报

  • TA的每日心情
    开心
    昨天 13:37
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4192

    回帖

    4058

    积分

    管理员

    积分
    4058

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

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

    是的,dz的问题。。。这编辑器不是很好用
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

    发表回复

    本版积分规则

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