惊了!!! 小白零基础学java (月薪过万是你的梦想嘛) 手把手教学 就怕你不动手【八】

今天我们学习一个项目 学了那么多 不实战怎么行

吃货联盟订餐系统

我们前三阶段的练习都是在Console(控制台)上展示的!我们是在学习语法阶段。未来的产品不会以控制台形式展示给客户。

控制台系统 精简版的美团

吃货联盟订餐系统包含的功能:我要订餐、查看餐袋、我要签收、删除订单、点赞菜品、退出系统

1. 基本业务分析

业务驱动技术。

我要订餐

0.提升用户体验 如果餐袋已满 则不再允许订餐。

1.输入订餐人姓名

2.将所有的菜品进行展示

3.输入要订的菜品序号

4.输入要订的菜品份数

5.输入配送时间

6.输入配送地址

7.显示订餐信息

查看餐袋

1.直接展示所有的订单信息

我要签收

1.展示所有的订单信息

2.输入要签收的订单序号

3.如果已经完成不允许重复签收

4.如果未完成则可以进行签收

5.展示签收成功

删除订单

1.展示所有的订单信息

2.输入要删除的订单序号

3.如果未完成(已预订)则不允许删除

4.如果已完成可以进行订单删除

5.展示删除成功

我要点赞

1.展示所有的菜品信息

2.输入点赞的菜品序号

3.提示点赞成功

退出系统

1.提示结束语

2.执行程序退出

2. 技术难点分析

存储难点

订单信息:

​ 姓名 订餐菜品+份数 送餐时间 送餐地址 订单状态(0表示已预定 1表示已完成) 总金额…

​ 1.使用变量 如果存储3个订单 需要定义很多变量(X)

​ 2.使用数组

​ 数组是长度不可变的(因技术限制假定最大存储长度为4)

​ 数组是一组相同类型的数据,虽然我们一个数组中无法直接存储一条订单信息,但是我们可以定义多个数组,每个数组的相同索引用来存储一条订单信息。例如:多个数组的下标为0表示第一条订单,下标为1时表示第二条订单…

1553651063150

菜品信息:

​ 菜名 单价 点赞数

订单和菜品遍历

因为下标相同表示同一条订单或菜品信息,所以可以遍历一个数组时进行遍历其他多个数组。

for(int i = 0; i < names.length; i++){
    syso(names[i] +" \t "+totalMoney[i]+.....);
}

订单签收和菜品点赞

就是将对应的数组进行重新赋值而已。

删除订单

当删除的是最后一条订单信息时,只需要将最后一条订单信息置为数组默认值即可。

names[names.length-1] = null;
totalMoney[totalMoney.length - 1] = 0;
......

当删除的是非最后一条订单信息时,需要先将此下标后的元素前移,然后将最后信息进行置为默认值。

订单总金额计算

菜品的单价 * 份数 + 配送费

当实际消费总金额 >= 50元 则配送费减免 否则需要5元配送费。

配送费计算三元运算符:
菜品的单价 * 份数  >= 50 ?  0  :  5; 

3. Eclipse快捷键

Alt+/ 语法提示

main方法的快速创建:输入main -> Alt + /

输出语句快速创建:输入syso -> Alt + /

向上/下复制当前/选中行:Ctrl + Alt + 上贱/下贱

向上/下移动当前/选中行:Alt+上/下

快速补全/修复:Ctrl+1

全局导包:Ctrl+Shift+O

快速遍历刚写完的数组:for -> Alt+/ -> 选择遍历上方的数组项

猜你喜欢

转载自blog.csdn.net/dwwen/article/details/88962322
今日推荐