是一个基于面向对象编程和Javase的管理系统

第1个课设是去年11月份写的

我记得当时在实验室写了一个下午,晚上写了两个小时去牛客刷题去了,第二天下午开始写,写到六点钟写完的

前天2024/2/20晚上和昨天2024/2/21下午我写了第2个课设

第二次写课设比第一次课设容易多了

一个晚上就写了300行用户页的操作

第二天下午先在论坛摸鱼搞组件,后来开始写到晚上6点吃饭还剩增删改三个功能,吃饭前把关于查的stream流方法写完,吃过饭半小时就写完了

课设介绍

其中包名为

有两个JavaBean类

三个工具类

第一个界面:登录系统

第二个界面食品

以下是改进

改进1

通过选择直接访问选项类里的静态方法

我选择通过类名.方法直接调用

这样可以确保进入每个界面的便捷性

因为在第一次写课设的时候

使用c语言结构体写的

而每个界面的退出我是用while循环实现的

而多重循环还需要用到loop标签

就容易出现不正常的运行,十分难写

例如,我们这里直接访问各个类里的静态方法

进入各个页面后

退出时,同样基于死循环一个唯一的出口,就是再访问先前类的方法

就像这样

选择正确的数字是唯一的出口,外面套着死循环

改进2

在JavaBean类里定义了关于类的方法

因为在第一次写课程设计时,JavaBean类只交代了成员属性,以及相关的空参构造,实参构造

所以这次要进行数据有关操作时,我们可以直接访问类里面的静态方法

来做到对数据的处理

食品类

用户类

改进3

优化数据结构

之前写的数据是存储在单列集合集合ArrayList里的

因为可读性差和使用起来太复杂

所以我优化了数据结构

采用双列集合 底层是哈希表

基于数组,链表,红黑树的高级数据结构

改进4

方法重写

主要体现在两个方面,使用了新的方法,例如正则表达式,Stream流,迭代器

主要是对字符串的操作和遍历集合

检验字符串是否符合规范

Stream流过滤数据

以下是创新

创新1

使用Java图形化组件

创新2

使用音频组件

创建一个工具类Music

里面静态方法里用音频组件写了歌曲的属性

可进行播放 其中采用了异常处理机制 防止进程出现问题

创新3

构建了图形化的虚拟购物

请注意这些数据在底层逻辑都是可以通过增加,删除去操作的

也就是在存储的时候不止会将数据存在查询那个最基本的集合里

同样也会存储到另一个名为购物的哈希表双列集合里去

大大提高了灵活性和可用性

以下是不足

每次写都有不足,我觉得代码永远也不会改成最最最完美的

所以我不太喜欢一直一直优化优化再优化

不足1

还需要优化数据结构

在每次打开模拟点餐时,数据都是无序的

就是各项数据不是按照存入集合的顺序排列的

这我就想到了是不是应该用LinkedHashList而不是HashList

不足2

没有使用继承和接口

我一直觉得作为接口的实现类重写接口里抽象方法好方便啊

但其实还不会用这些东西

不足3

功能不够完善

究竟什么时候才能完善,才能很很很完善,才能绝绝对对的完善呢

不足4

学长看完后说我代码耦合性太高了

一个类套着一个类

我特地去看了软件工程这本书,我记得是好像是第十页说软件开发最重要的一点要低耦合高内聚

我会改进的

以下是源码

Java课程设计源码_牛客博客 (nowcoder.net)