一:作业说明:

利用Java语言来实现肯德基收银系统的相关功能:

基础要求:

1:正常餐品的结算和找零;

2:套餐的结算和找零;

3:利用优惠券实现餐品的结算和找零;

4:在一定时间段内参加店内活动;

5:实现打印小票的功能;

6:实现功能测试代码;

7:程序风格良好,界面设计良好;

二:算法设计思路:

(1):首先对于餐品和套餐的结算和找零功能,我们利用抽象工厂模式:即定义工厂类(IKfcFactory);具体的抽象工厂类来具体化工厂的生产功能(ChinaFactory来实现工厂生产汉堡,可乐饮料,炸鸡等产品的功能);产品类(AbstractBaseFood类);具体的抽象产品类(ChinaBaverage类,ChinaChickenWing类等)来生产具体产品;其次我们在主类(MainApp)的主函数中通过Scanner类来获取用户对各项餐品的需求量,然后在Customer类中定义点餐(order)功能,通过定义函数来实现对餐品数量和消费的总结并返回到主函数中。随后在主函数中实现打印小票的功能以及对最终点餐量和消费额进行输出。

(2):消费券功能则是通过定义一生成随机数的函数,根据判断用户的总消费额,在一定区间内随机生成一个数字作为用户的优惠额度。

(3):参加店内活动功能则是引入了DateFormat类,通过定义店内的活动时间,然后通过该类记录当前用户的下单时间,若不在定义的优惠时间,则不可以使用优惠券。

三:测试及调试截屏:

(1)调试截屏:

java做收银系统 开源收银系统源码 java_java做收银系统


(2)测试截屏:

java做收银系统 开源收银系统源码 java_随机数_02

五:总结与归纳:

此次作业提高要求没有成功,原因在于自己对javaGUI的知识运用不够熟练,而且由于连接数据库的操作不熟悉,导致在做以上两点时出现许多困难。而且基础要求完成后JavaGUI突然显示工作空间不可用,导致之前没有问题的代码无缘无故出现BUG,这也为完成作业带来了困难。