news 2026/6/12 11:30:56

外卖订餐管理系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
外卖订餐管理系统

实验五 外卖订餐管理系统

实验目的

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; } } } }

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


五、实验总结

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 13:36:17

汇编语言全接触-26.启动画面

上一章我们学习了位图的使用.在这一章我们要用上帝赋予我们的创造力来融会贯通上一章我们学到的知识.那就是研究如何用位图来创建启动画面. 你可以在这里下载示范: the example. 理论首先,我们先要搞清楚什么是启动画面.举个简单的例子:我们启动某些作的专业一点的程序时(比如N…

作者头像 李华
网站建设 2026/6/11 23:43:21

随机抽奖算法实现与对比:聚焦洗牌算法(Fisher-Yates)

期末课程设计中&#xff0c;我和团队成员共同完成了 “随机抽奖算法实现与比较” 的课题。本次设计的核心目标是模拟实际抽奖场景&#xff0c;从指定号码范围&#xff08;min_num 到 max_num&#xff09;中抽取 k 个不重复的中奖号码&#xff0c;并通过实现四种不同算法&#x…

作者头像 李华
网站建设 2026/6/12 13:00:53

【Hadoop+Spark+python毕设】物联网网络安全威胁数据分析系统、计算机毕业设计、包括数据爬取、数据分析、数据可视化、Hadoop、实战教学

&#x1f393; 作者&#xff1a;计算机毕设小月哥 | 软件开发专家 &#x1f5a5;️ 简介&#xff1a;8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 &#x1f6e0;️ 专业服务 &#x1f6e0;️ 需求定制化开发源码提…

作者头像 李华
网站建设 2026/6/12 13:36:59

Springboot连锁药店进销存业务系统98i85(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能&#xff1a;员工,供应商,药品信息,药品采购,进货出库,药品销售,退货入库,药品报损,药品销毁开题报告内容基于SpringBoot的连锁药店进销存业务系统开题报告一、选题背景与意义1.1 行业现状与痛点随着医疗行业的快速发展和人们对健康需求的日益增加&…

作者头像 李华
网站建设 2026/6/12 11:31:02

智能测试指标动态权重分配研究

随着人工智能与机器学习技术在软件测试领域的深度渗透&#xff0c;传统静态权重分配模式已难以适应瞬息万变的测试环境。本文基于2025年行业实践数据&#xff0c;提出以动态权重分配为核心的新型测试评估体系&#xff0c;通过构建具备自适应能力的指标权重矩阵&#xff0c;有效…

作者头像 李华
网站建设 2026/6/12 2:16:35

std::promise 重难点

std::promise 重难点全拆解 std::promise 是 C11 异步编程的核心组件&#xff0c;但其难点不在于语法本身&#xff0c;而在于状态管理、生命周期控制、异常传递等“隐性规则”——踩中任何一个都可能导致程序崩溃或逻辑异常。本文用“专业底层逻辑通俗比喻分步实操”的方式&…

作者头像 李华