(一)需求说明
现今已进入网络时代,网上购物、看新闻、交友等人们的日常生活已离不开网络。“只 要点点手指,就能送餐上门”,网上定餐越来越受到都市年轻人的青睐。现要求开发一个网 上订餐系统,其具体功能如下:
- 一、我要订餐 完成用户订餐,每条订单包含如下信息:
- 订餐人姓名:要求用户输入
- 选择菜品及份数:显示四个菜单序号、名称、单价、点赞数,提示用户输入 要 选择的菜品序号及份数(提供信息菜单:汉堡包、薯条、炸鸡块、可乐;价格:18,12,10,8)
- 送餐时间:要求当天 8 到 22点间整点送餐,要求用户输入 8~22的整数,输入 错误,重复输入。
- 送餐地址:要求用户输入
- 状态:两种状态:已预订(默认状态) 已完成(订单已签收)
- 总金额: 总金额 = 菜品单价*份数-送餐费(送餐费:当单笔订单金额达到 30元时,免送餐费,否则,需交纳 3元送餐费) 订餐成功后,显示订单信息。
- 二、 查看订单 遍历显示已有订单
内容包括:序号、订餐人姓名、订餐信息(菜品名和份数)、送餐时间、送餐地址、 状态(已预订或已完成)、总金额 - 三、 签收定单 将定单中状态改为已完成
- 四、删除定单 用户输入订单序号,如该序号订单为已完成状态,可以删除,其它情况给出相应提示信息
- 五、我要点赞 显示菜品序号、菜品名、单价、点赞数,提示用户输入要点赞的菜品序号完成对菜品的点赞
- 六、退出系统 退出整个系统,显示“谢谢使用,欢迎下次光临” 七、菜单切换用户可根据显示的主菜单,输入功能编号执行相应的功能.
图 1 输入 1~5 之间的功能编号,执行相应功能 |
图 2 输入“6”或其他数字,退出系统 |
当用户输入 1~5 之间的功能编号,功能执行完毕后,显示“输入 0 返回”(如图 1 所示), 此时输入 0,则返回主菜单(如图 3 所示),否则,退出系统
图 3 输入“0”返回主菜单 |
(二)操作步骤
Ⅰ.项目功能分析
公共:Scanner 跳转
数据主体(多个数组)
菜品信息(序号 菜名 单价 点赞数)-订餐、点赞
订单信息(序号 订餐人 餐品信息 送餐时间 送餐地址 总金额 订单状态)-查看餐袋
项目框架整体搭建
欢迎菜单展示
控制台输出语句
退出(选择6、选择了1-6之外的数字)
跳转语句-break
相应用户选择(1-6)–switch
我要订餐
循环遍历(菜品信息)
条件判断(送餐时间、送餐费)-条件判断结构、三目运算符?:
查看餐袋
循环遍历(订单信息)
条件判断(订单非空)
签收订单
条件判断(订单存在、订单状态-预订)
删除订单
条件判断(订单存在、订单状态-已完成)
我要点赞
条件判断(存在菜品、点赞数)
循环遍历(菜品信息:序号 菜名 单价 点赞数)
Ⅱ.搭建基本框架
package day_1128;
import java.util.*;
import java.util.Scanner;
public class Finaishdalianmeng {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] orderNumbers = new int[5]; // 定义数组:orderNumbers&&订单序号<