项目分析

1.业务分析
业务:用程序完成的这些事儿,就是业务。业务有些时候比技术还重要。技术是靠业务驱动的。
①订餐业务
a.检查是否还可以订餐
b.展示当前的菜单列表
c.引导客户选择菜品编号以及份数
d.引导客户收货信息的录入(订餐人姓名、送餐时间、送餐地址)
e.订餐成功后,存储订餐信息
f.提示客户餐费及其他订餐信息

②查看订单业务
a.将订餐的信息以列表形式展示出来
订餐人姓名、餐品信息、送餐时间、送餐地址、总金额、订单状态

③签收订单业务
a.将订餐的信息以列表形式展示出来
b.引导客户选择要签收的订单
c.对签收订单进行检测,订单不允许重复签收!
d.对需要签收的订单进行状态更改

④删除订单业务
a.将订餐的信息以列表形式展示出来
b.引导客户选择要删除的订单
c.对删除订单进行检测,未签收订单不允许删除!
d.删除订单,并将后续订单信息进行位移

⑤点赞业务
a.展示菜单列表
b.引导客户选择要点赞的菜品编号
c.对指定菜品的点赞数进行累加

⑥主菜单展示
a.提供欢迎提示,展示功能列表
b.引导客户选择要使用的功能
c.功能使用完,给用户再次选择功能的机会

2.技术分析

①如何存储?
使用数组来进行数据存储。
需要存储订单信息、菜品信息。
数组在存储时,只能存储一组具有相同数据类型的定长数据。
缺陷:相同数据类型、只能存储定长数据

解决方法:使用数组,但是采用多个数组来存储一条订单、一条菜品信息。多个数组的相同下标数据代表一条完整信息。存储上限暂定为4。

②如何展示菜品列表和订单列表?
遍历相应的一个数组,然后根据遍历出来的下标,挨个从相关数组中取出相关的信息。
例如:
展示菜品列表
for (int i = 0; i < 菜名数组.length; i++) {
菜名数组[i]
单价数组[i]
点赞数组[i]
}

③如何引导输入?
输出语句
Scanner 输入语句

④如何让主菜单能够持续使用,以及让主菜单切换功能。
等值判断:switch选择结构
确定结束时机较为麻烦:死循环 do-while

⑤签收业务如何实现签收?
在签收时,修改对应数组中的签收状态即可。(数组元素重新赋值)
签收状态建议存储整数值。 例如:0表示已预订 1表示已签收

⑥点赞业务,如何累加点赞数?
在点赞时,对原有的点赞数进行 + 1即可

⑦删除业务,如何删除数组数据?
数组删除数据,就是将数据重置为原来的默认值。
如果删除的数据是靠前的数据,还需要考虑数组数据移位问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值