public class OrderMsg {public static void main(String[] args) throws Exception { /** * 订餐人姓名、选择菜品、送餐时间、送餐地址、订单状态、总金额 * 01.创建对应的数组 * 02.数组的初始化 * 03.显示菜单 * 04.根据用户的选择进去指定的模块 */ String[] names = new String[6]; // 订餐人姓名 String[] dishMsgs = new String[6];// 选择菜品 int[] numbers = new int[6];// 菜品份数 Date[] dates = new Date[6]; // 送餐时间 String[] times = new String[6]; // 送餐时间对应的String类型的日期 String[] addresses = new String[6];// 送餐地址 int[] states = new int[6];// 订单状态 0:已经预定 1:已经完成 double[] sumPrices = new double[6];// 总金额 // 初始化数据 names[0] = "小黑"; dishMsgs[0] = "八仙过海"; numbers[0] = 3; dates[0] = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss"); times[0] = sdf.format(dates[0]); addresses[0] = "天堂路1号院"; states[0] = 1; sumPrices[0] = 5000; names[1] = "小白"; dishMsgs[1] = "佛跳墙"; numbers[1] = 5; dates[1] = new Date(); times[1] = sdf.format(dates[1]); addresses[1] = "地域路2号院"; states[1] = 1; sumPrices[1] = 500; // 初始化用户可以选择的菜 String[] dishNames = { "八仙过海", "佛跳墙", "松鼠鱼", "红烧带鱼", "时令蔬菜", "辣土豆丝" }; // 定义每个菜的单价 double[] prices = { 88, 78.8, 58.0, 28.5, 50, 80 }; // 定义点赞 的数组 int[] praiseNums = new int[6]; praiseNums[0] = 5; praiseNums[1] = 10; System.out.println("***********欢迎进入《吃货联盟》点餐系统***********"); Scanner scanner = new Scanner(System.in); int num = -1; // 如果用户输入的是0 默认返回主菜单 boolean isExit = false;// 定义一个标记 来标识 用户是否退出系统 true:退出 do { // 显示菜单供用户选择 System.out.println("当前系统时间是:" + sdf.format(new Date())); 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("请选择:"); int choose = scanner.nextInt(); // 根据用户的选择执行不同的功能 switch (choose) { case 1: System.out.println("************我要订餐************"); // 定义一个标记判断餐带是否已满 boolean addFlag = false; for (int i = 0; i < names.length; i++) { // 订餐人的集合 if (names[i] == null) { addFlag = true; System.out.println("请输入订餐人的姓名:"); names[i] = scanner.next(); // 获取订餐人的姓名 System.out.println("您可以选择下列的菜品:"); System.out.println("序号\t\t\t菜名\t\t\t单价\t\t\t点赞数"); for (int j = 0; j < dishNames.length; j++) { // 遍历菜品 String praiseNum = (praiseNums[j] > 0) ? praiseNums[j] + "个赞" : ""; System.out.println(j + 1 + "\t\t\t" + dishNames[j] + "\t\t\t" + prices[j] + "\t\t\t" + praiseNum); } // 用户开始点菜 System.out.println("请您选择菜品的编号:"); int chooseDishName = scanner.nextInt(); System.out.println("请您输入点餐的份数:"); int number = scanner.nextInt(); System.out.println("请您输入送餐的地址:"); String address = scanner.next(); System.out.println("请您输入送餐的时间:(时:分:秒)"); String time = scanner.next(); /** * 根据用户的餐费 判断是否收取送餐费 大于60免送餐费 * 01.获取用户点的菜的单价 * 02.获取总金额 * 03.判断 */ double sumPrice = prices[chooseDishName - 1] * number; double price = (sumPrice > 60) ? 0 : 6; System.out.println("恭喜您订餐成功!"); System.out.println("您定的菜品是:" + dishNames[chooseDishName - 1] + "\t" + number + "份"); System.out.print("餐费:" + sumPrice); System.out.print("\t送餐费:" + price); System.out.println("\t总费用:" + (price + sumPrice)); // 向数组中增加数据 times[i] = sdf.format(sdf.parse(time)); // 时间 addresses[i] = address; // 地址 sumPrices[i] = (sumPrice + price); // 总金额 dishMsgs[i] = dishNames[chooseDishName - 1]; // 定的菜品 states[i] = 0; // 订餐的状态 numbers[i] = number; // 份数 break; } } if (!addFlag) {// 餐袋已经满了 System.out.println("餐袋已经满了"); } break; case 2: System.out.println("************查看餐袋************"); /** * 显示 * 编号 订餐人 菜品(份数) 送餐时间 送餐地址 总金额 状态 */ System.out .println("编号\t\t订餐人\t\t菜品(份数)\t\t送餐时间 \t\t送餐地址\t\t总金额\t\t状态\t\t点赞数量"); for (int i = 0; i < names.length; i++) { if (names[i] != null) { // 有人订餐 的显示 String state = (states[i] == 0) ? "已经预定" : "已经完成"; // 获取状态 String time = times[i]; // 获取时间 String sumPrice = sumPrices[i] + "元"; // 总金额 String address = addresses[i]; // 地址 String dishMsg = dishMsgs[i]; // 菜品 int count = numbers[i]; System.out.println(i + 1 + "\t\t" + names[i] + "\t\t" + dishMsg + "(" + count + ")" + "\t\t" + time + " \t\t" + address + "\t\t" + sumPrice + "\t\t" + state + "\t\t" + praiseNums[i]); } } break; case 3: System.out.println("************签收订单************"); /** * 01.状态为已经完成!不需要签收 * 02.状态为已经预定!需要签收 * 03.没有指定的订单,不能签收 */ System.out.println("请您输入需要签收的订单编号:"); int sign = scanner.nextInt(); // 定义一个标记 来判断订单是否被签收 int flag = 0; for (int i = 0; i < names.length; i++) { if (names[i] != null && states[i] == 0) {// 01.有订单 可以签收 states[i] = 1;// 改变状态 flag = 1; break; // 必须退出 否则 后续的都会变成签收 } 

转载于:https://www.cnblogs.com/xiaobaizhang/p/7761355.html

java基础===点餐系统相关推荐

  1. java毕业设计点餐系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计点餐系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw java毕业设计点餐系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构 ...

  2. [附源码]计算机毕业设计JAVA网上点餐系统

    [附源码]计算机毕业设计JAVA网上点餐系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Intell ...

  3. 基于JAVA外卖点餐系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA外卖点餐系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA外卖点餐系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  4. 基于JAVA校园点餐系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA校园点餐系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA校园点餐系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  5. 计算机毕业设计Java餐厅点餐系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java餐厅点餐系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java餐厅点餐系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 开发语 ...

  6. Java外卖点餐系统

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:blog.csdn.net/weixin_44219 ...

  7. [附源码]java毕业设计点餐系统论文

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  8. 计算机专业java餐厅点餐系统,Java实现餐厅点餐系统的实例代码.pdf

    Java实实现现餐餐厅厅点点餐餐系系统统的的实实例例代代码码 学学习习Java实实现现餐餐厅厅点点餐餐系系统统,,本本文文实实现现该该系系统统的的功功能能截截图图,,和和数数据据库库设设计计SQL语语 ...

  9. 【JAVA基础】重新系统学习Java(五)案例一

    目录 Java基础知识案例 运算符 身高遗传 红茶绿茶 外卖 if语句 手机以旧换新 三数最小 本息计算 顾客优惠 个人所得税 switch语句 加减乘除 循环语句 猪年年份 输出长方形 输出三角形 ...

最新文章

  1. 问题清空easyui required=true的提示信息所在位置不对。乱跑的解决办法
  2. 玩linux笔记——持续更新
  3. U盘流畅运行linux发行版,做各种linux发行版的启动U盘方法
  4. kalilinux安装qt_Kali Linux 安装和搜狗输入法的安装
  5. oracle空间整理,ORACLE数据库空间整理心得
  6. android ndk 编译选项,Android NDK 对于c++的支持(mk文件内编译选项)
  7. VB表格控件总览与例程分析
  8. H5实例教学--ThreeJs 实现粒子动画飘花效果
  9. Java对象序列化文件追加对象的问题,以及Java的读取多个对象的问题解决方法。
  10. 使用MEMCACHED的思考
  11. 金蝶oracle用鼎信诺取数,取数软件 审计取数软件?
  12. 暴力解决注册表删不掉的问题
  13. 知网caj转pdf格式的方法
  14. Cloudera Manager 6.2.1安装
  15. APP地推效果监测精准方案
  16. 200元左右的蓝牙耳机推荐,2021蓝牙耳机排行榜10强
  17. Applications for PacBio circular consensus sequencing
  18. 企业使用云计算机的好处,三个问题,让你彻底明白企业为什么上云以及企业上云的好处...
  19. transforms.Compose和transforms.ToTensor()
  20. 如何设计一个比较通用的爬虫系统

热门文章

  1. 在cmd的方式下,简化mysql的输入的方法
  2. 模板特化,全特化,偏特化,全部特化,部分特化的含义
  3. C#自定义控件四简易时钟
  4. 计算一下你的“手指率”
  5. 如何征服Webpack 4并构建一个出色的React应用
  6. 宅男抖音某猫协议分析及应用破解
  7. PHP相关关系及定义
  8. linux 读取大量图片 内存,10 张图帮你搞定 TensorFlow 数据读取机制
  9. 冒泡排序_python实现冒泡排序
  10. Linux二进制导出配置文件,Go打包二进制文件的实现