当前位置: 首页 > news >正文

外卖订餐管理系统

实验五 外卖订餐管理系统

实验目的

1.理解程序的基本概念——程序、变量、数据结构;

2.学会使用顺序、选择、循环、跳转语句编写程序;

3.学会使用数据和方法。

实验内容

开发一个外卖订餐系统,需要实现“我要订餐”、“查看餐袋”、“签收订单”、“删除订单”、“我要点赞”和“退出系统”六个功能。项目运行结果如图1所示。

图1 外卖订餐系统

三、程序代码及分步功能解析

package Q; import java.util.Scanner; public class OrderingMgr { String[] names= new String[10]; String[] dishMegs= new String[10]; int[] times= new int[10]; String[] addresses= new String[10]; int[] states= new int[10]; double[] sumPrices= new double[10]; String[] dishNames= {"红烧肉","烤鱼","麻辣香锅"}; double[] Prices= {5,25,15}; int[] praiseNums=new int[dishNames.length]; public static void main(String[] args) { OrderingMgr order = new OrderingMgr(); while(true) { order.showMainMenu(); Scanner input = new Scanner(System.in); int choice = input.nextInt(); switch (choice) { case 1: System.out.println("***我要订餐***"); order.placeOrder(); break; case 2: System.out.println("***查看餐袋***"); break; case 3: System.out.println("***签收订单***"); break; case 4: System.out.println("***删除订单***"); break; case 5: System.out.println("***我要点赞***"); break; case 6: System.out.println("感谢使用外卖订餐系统,再见!"); System.exit(0); System.exit(0); break; default: System.out.println("输入错误,请选择1-6之间的数字!"); break; } } } public void showMainMenu(){ System.out.println("欢迎使用“外卖订餐系统”"); System.out.println("*****************************"); System.out.println("1.我要订餐"); System.out.println("2.查看餐袋"); System.out.println("3.签收订单"); System.out.println("4.删除订单"); System.out.println("5.我要点赞"); System.out.println("6.退出系统"); System.out.println("*****************************"); System.out.println("请选择:"); } public void placeOrder(){ boolean flag = false; for (int j = 0; j < names.length; j++) { if (names[j] == null) { // 找到第一个空位置,可以添加订单信息 flag = true; // 置标志位,可以订餐 //输入订餐人的姓名 System.out.print("请输入订餐人姓名:"); Scanner input = new Scanner(System.in); String name=input.next(); //选择的菜品和份数 System.out.println("序号" + "\t" + "菜名" + "\t" + "单价"); for (int i = 0; i < dishNames.length; i++) { String price = Prices[i] + "元"; String praiseNum = (praiseNums[i] > 0) ? praiseNums[i] + "赞" : ""; System.out.println((i + 1) + "\t" + dishNames[i] + "\t" + price + "\t" + praiseNum); } // 用户点菜 System.out.print("请选择您要点的菜品编号:"); int chooseDish = input.nextInt(); System.out.print("请选择您需要的份数:"); int number = input.nextInt(); String dishMeg = dishNames[chooseDish - 1] + " " + number + "份"; //餐费计算 double sumPrice = Prices[chooseDish - 1] * number; // 餐费满50元,免送餐费,否则5元 double deliCharge = (sumPrice >= 50) ? 0 : 5; //输出订单时间 System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):"); int time = input.nextInt(); while (time < 10 || time > 20) { System.out.print("您的输入有误,请输入10~20间的整数!"); time = input.nextInt(); } System.out.print("请输入送餐地址:"); String address = input.next(); System.out.println("订餐成功!"); System.out.println("您订的是:" + dishMeg); System.out.println("送餐时间:" + time + "点"); System.out.println("餐费:" + sumPrice + "元, 送餐费" + deliCharge + "元, 总计:" + (sumPrice + deliCharge) + "元。"); // 添加数据 names[j] = name; dishMegs[j] = dishMeg; times[j] = time; addresses[j] = address; sumPrices[j] = sumPrice + deliCharge; break; } } } }

四、程序调试结果(要求截取详细步骤)


五、实验总结

本次实验开发了外卖订餐系统,实现了订餐、查看订单、签收、删除、点赞和退出六个功能。实验中,我用变量存储订单信息,数组管理订单列表,学会了顺序、选择、循环语句的使用,比如用循环遍历订单,用选择判断订单状态。同时,我还把不同功能写成了单独的方法,让代码更清晰。通过这次实验,我掌握了程序基础概念和基本语法,理解了数据和方法的使用,但在处理订单状态时还有些不熟练,后续会多练习,让代码更完善。

http://www.jsqmd.com/news/89135/

相关文章:

  • Level 2 → Level 3
  • 软件缺少vbschs.dll文件 无法启动运行的情况 下载修复
  • Flutter 混合开发实战:从 Add-to-App 到高性能双向通信的全栈集成方案
  • 外设与接口:基于内核 gpio-keys 子系统的按键处理
  • sglang 大模型推理框架支持的EAGLE 1,2,3
  • 延凡科技 EMS 智慧云平台:3 万起订阅,中小用能单位的 “云端全能源管家”
  • 拦截器注册InterceptorRegistry 实现讲解
  • 汇编语言全接触-27.工具提示控件
  • 汇编语言全接触-26.启动画面
  • 我不是这样
  • 验证IP地址(一)
  • 医院管理|基于springboot 医院管理系统(源码+数据库+文档)
  • 浅谈:算法中的斐波那契数(一)
  • 测试的“元认知”:智能体如何评估自身可靠性?
  • 10.8 总结
  • 【Hadoop+Spark+python毕设】物联网网络安全威胁数据分析系统、计算机毕业设计、包括数据爬取、数据分析、数据可视化、Hadoop、实战教学
  • 9.28总结
  • 零基础学JAVA--Day34(Map接口+HashTable+HashMap+TreeSet+TreeMap+开发中如何选择集合实现类?(重要)) - 指南
  • 电影院购票|基于springboot 电影院购票系统(源码+数据库+文档)
  • C#+VisionMaster联合开发(二)_操作流程
  • 本地部署DeepSeek
  • AI驱动的手动测试变革:赋能而非替代
  • 航空机票预定系统|基于springboot 航空机票预定系统(源码+数据库+文档)
  • [Windows] 剪映自动预合成v1.0
  • 低代码平台的测试挑战:测试从业者的新战场
  • Go项目发布到Go官方仓库完整指南
  • 智能测试用例生成技术探秘
  • 瞬行PRO_9.9.9_高级版
  • 初识结构体(新手友好)
  • 学习测评|基于springboot学习测评系统(源码+数据库+文档)