一、Java 课:仓储管理系统完成
今天 Java 课的主要任务,是把仓储管理系统原型系统收尾。
这个题目来自 2026 级《JAVA 语言程序设计》课前测试试卷,用的方法是“大道至简——编程思维:三次分解”。技术栈是 Java SE 8+,控制台程序,没有第三方依赖。
完成的内容大致包括:
主类 WarehouseSystem,负责跟用户交互和全部业务逻辑;
数据类 Material、Warehouse、StockBill,分别对应物资台账、仓库、出入库单据;
用四个数组加计数器来存多仓库、多物资、多单据;
主界面、仓库设立、物资台账设立、入库作业、出库作业、信息查询这些功能都写完了;
把重复动作抽成公共方法,比如 inputByRegex、judgeMaterial、judgeWarehouse、calcStock、genBillNo;
单据编码按“年月日 + 4 位流水号”自动生成,不能手工录入;
测试部分把功能 1 到功能 5 都跑了一遍,包括编码唯一校验、库存校验、分类汇总、入库单和出库单列表。
另外,链接里的页面管理也完成了。虽然和控制台程序不是一回事,但都属于今天 Java 课上的任务,算是两头都收了尾。
二、三次分解回顾
这个系统是按“三次分解”做的,回头再看一遍,思路比较清楚。
第一次分解: 数据和执行分开。 数据类负责记录: Material: 一条物资台账记录,7 个变量; Warehouse: 一个仓库,2 个变量; StockBill: 一张入库单或出库单,6 个变量。 执行类就一个主类,含 main(),负责交互和业务逻辑。 第二次分解: 重复动作抽成公共方法。 先解决数据放哪: 仓库数组、物资数组、单据数组,再加三个计数器和一个流水号。 再按用户能看到的界面拆方法: mainFrame(): 主界面; setupWarehouse(): 仓库设立; setupMaterial(): 物资台账设立; inStock(): 入库作业; outStock(): 出库作业; queryFrame(): 信息查询。 最后把反复出现的动作抽出来: 按正则录入; 判断物资是否存在; 判断仓库是否存在; 算库存; 生成单据编码。 第三次分解: 把每个方法内部再拆细。 : 先录物资编码,判断存在;再录仓库编号,判断存在;然后录入库数量和日期;系统生成单据编码;显示确认信息;Y 保存,N 忽略。 出库作业多一步库存校验,出库数量不能超过当前库存。 查询界面分四类: 按物资编码查库存、按分类汇总库存、入库单信息、出库单信息。 数据库原理和离散数学今天也上了。 数据库原理继续跟课,有些概念和操作需要课后自己再捋一遍。离散数学也是,课上听是一回事,课下不复习就容易模糊。两门课都得抽时间整理笔记,不能只靠课堂。 下课去打球训练。 本来运动是放松,结果下雨,负重前行,心情有点可悲。不过训练还是练了,出出汗,总比一直坐着强。雨天来回折腾确实累,回头注意别感冒。 Java 课把仓储管理系统和页面管理都完成了,算是今天最大的进展。 三次分解的思路很实用: 先分数据和执行,再抽公共方法,最后细化每个流程。 数据库和离散数学需要课后复习,不能堆着。 下雨天训练确实可悲,但没摆烂,还行。 复习数据库原理和离散数学的笔记。 把仓储管理系统的文档和代码再核对一遍,重点看变量名、方法名有没有笔误。 页面管理那边如果有后续要求,继续跟进。 继续天天打卡一小时,有空再运动。三、其他课程
四、运动与天气
五、今日小结
六、明天计划