一.系统概述
编写一个订餐的系统,具体需要实现这6个功能:分别是,我要订餐、查看餐袋、签收订单、删除订单、我要点赞、退出系统。
编写设计一个良好的系统,需要符合界面交互设计的原则,具体包括
①统一性原则:界面风格统一(用相同方式完成相同类型的操作 如:录入序号)、交互风格统一(用相同方式展现相同类型的数据 如:数值类型)。
②美观性原则:界面简洁、大方。
③易用性原则:操作方式自然、易理解。
二.重难点具体分析。
1.如何保存订单的信息?
2.如何访问订单的信息?
3.如何删除订单信息?
4.如何计算订单的总金额?
5.如何新增一条订单?
6.如何签收一条订单?
7.如何收集保存每个菜品的点赞数?
分析解决:
1.使用数组来保存和访问订单中的信息,每条订单信息分别包括,订餐人姓名、选择菜品及份数、送餐时间、送餐地址、订单状态、总金额(最多包含有4条订单信息!)
String[] names = new String[4]; // 保存订餐人名称
String[] dishMegs = new String[4]; // 保存菜品名及份数
int[] times = new int[4]; // 保存送餐时间
String[] addresses = new String[4]; // 保存送餐地址
int[] states = new int[4]; // 保存订单状态: 0:已预订 1:已完成
double[] sumPrices = new double[4]; // 保存订单的总金额
!!!:数组长度必须一致,统一为4或者其他。
2.访问订单信息
访问第i+1条订单信息
订餐人名称:names[i]
所选菜品信息:dishMegs[i]
送餐时间:times[i]
送餐地址:addresses[i]
订单状态:states[i]
订单的总金额:sumPrices[i]
3.删除数组中指定位置的元素
·从删除位置后一个元素开始每个元素依次前移一位
·将最后一个元素置为空
具体实现:
for(int j=delId-1;j
names[j] = names[j+1];
dishMegs[j] = dishMegs[j+1];
times[j] = times[j+1];
addresses[j] = addresses[j+1];
states[j] = states[j+1];
sumPrices[j] = sumPrices[j+1];
names[names.length-1] = null;
dishMegs[names.length-1] = null;
times[names.length-1] = 0;
addresses[names.length-1] = null;
states[names.length-1] = 0
}
4.如何计算订单的总金额?
订单总金额 = 菜品单价 * 预订的份数 + 送餐费
如果订单总金额不满50元,加收5元送餐费
三元运算符;
代码实现:
System.out.print("请选择您要点的菜品编号:");
Int chooseDish = input.nextInt();
System.out.print("请