“吃货联盟定餐系统”需求说明

现今已进入网络时代,网上购物、看新闻、交友等人们的日常生活已离不开网络。“只要点点手指,就能送餐上门”,网上定餐越来越受到都市年轻人的青睐 现要求开发一个网上订餐系统,其具体功能如下:

  1. 我要订餐

完成用户订餐,每条订单包含如下信息:

  • 订餐人姓名:要求用户输入

  • 选择菜品及份数:显示三个菜单序号、名称、单价、点赞数,提示用户输入要选择的菜品序号及份数

  • 送餐时间:要求当天10到20点间整点送餐,要求用户输入10~20的整数,输入错误,重复输入。

  • 送餐地址:要求用户输入

  • 状态:两种状态:0:已预定(默认状态) 1、已完成(订单已签收)

  • 总金额:

总金额= 菜品单价*份数-送餐费

(送餐费:当单笔订单金额达到50元时,免送餐费,否则,需交纳6元送餐费)

订餐成功后,显示订单信息。

  1. 查看订单

遍历显示已有定单

内容包括:序号、订餐人姓名、订餐信息(菜品名和份数)、送餐时间、送餐地址、 状态(已预定或已完成)、总金额

  1. 签收定单

将定单中状态改为已完成

  1. 删除定单

用户输入订单序号,如该序号定单为已完成状态,可以删除,其它情况给出相应提示信息

  1. 我要点赞

显示菜品序号、菜品名、单价、点赞数,提示用户输入要点赞的菜品序号完成对菜品的点赞。

  1. 退出系统

退出整个系统,显示“谢谢使用,欢迎下次光临”。

  1. 菜单切换

用户可根据显示的主菜单,输入功能编号执行相应的功能,当输入1~5时,执行相应功能(如图1所示)。

6.输入“6”或其他数字,退出系统

当用户输入1~5之间的功能编号,功能执行完毕后,显示“输入0返回”(如图1所示),此时输入0,则返回主菜单,否则,退出系统


package com.cy.chengye;import java.util.Scanner;public class Demo01 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);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];double[] sumPrices = new double[4];names[0] = "刻晴";dishMegs[0] = "红烧带鱼 2份";times[0] = 3;addresses[0] ="天成路207号";sumPrices[0] = 76.0;states[0] = 1;names[1] = "刻晴";dishMegs[1] = "鱼香肉丝 2份";times[1] = 10;addresses[1] ="天成路207号";sumPrices[1] = 20.0;states[1] = 0;String[] dishNames = {"红烧带鱼","鱼香肉丝","时令鲜蔬"};double[] prices = {38.0,20.0,10.0};int[] praiseNums = new int[3];Scanner sc1 = new Scanner(System.in);int num = -1;boolean isExit = false;System.out.println("\n欢迎使用“吃货联盟订餐系统”");do{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("请选择:");int choose = sc.nextInt();boolean isAdd = false;boolean isSignFind = false;boolean isDelFind = false;switch (choose){case 1:System.out.println("我要订餐");for(int j=0; j< names.length;j++){if(names[j]==null){isAdd = true;System.out.println("请输入订餐人姓名:");String name = sc.next();System.out.println("序号"+"\t"+"菜名"+"\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"+prices[i]+"\t"+praiseNums[i]);}System.out.println("请选择你要点的菜品编号:       ");int chooseDish = sc.nextInt();System.out.println("请选择你要的份数:");int number = sc.nextInt();String dishMeg = dishNames[chooseDish - 1] + "" + number +"份";double sumPrice = prices[chooseDish-1]*number;double deliCharge=(sumPrice>=50)?0:6;System.out.println("请输入送餐时间(送餐时间是10点到20点之间的整点):");int time = sc.nextInt();while(time<10||time>20){System.out.println("你的输入有误,请输入10到20之间的整数!");time=sc.nextInt();}System.out.println("请输入送餐地址:");String address = sc.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;}}if(!isAdd){System.out.println("对不起,你的餐袋已满!");}break;case 2:System.out.println("查看餐袋");System.out.println("序号\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 date=times[i]+"点";String sumPrice=sumPrices[i]+"元";System.out.println((i+1)+"\t"+names[i]+"\t"+dishMegs[i]+"\t"+times[i]+"\t"+addresses[i]+"\t"+sumPrice+"\t"+state);}}break;case 3:System.out.println("签收订单");System.out.print("请选择要签收的订单序号:");int signOrderId = sc.nextInt();for(int i=0;i<names.length;i++){if(names[i]!=null&&states[i]==0&&signOrderId==(i+1)){states[i]=1;System.out.println("订单签收成功!");isSignFind=true;}else if(names[i]!=null&&states[i]==1&&signOrderId==(i+1)){System.out.println("你选择的订单已经签收,不能再次签收!");isSignFind=true;}}if(!isSignFind){System.out.println("你选择的订单不存在");}break;case 4:System.out.println("删除订单");System.out.println("请输入要删除的订单货号:");int delId = sc.nextInt();for(int i=0;i<names.length;i++){if(names[i]!=null&&states[i]==1&&delId==(i+1)){isDelFind=true;for(int j=delId-1;j<names.length-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];}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;System.out.println("删除订单成功!");break;}else if(names[i]!=null&&states[i]==0&&delId==i+1){System.out.println("你的订单未签收,不能删除!");isDelFind=true;break;}}if(!isDelFind){System.out.println("你要删除的订单不存在!");}break;case 5:System.out.println("我要点赞");System.out.println("序号"+"\t"+"菜名"+"\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"+praiseNums[i]);}System.out.println("请选择你要点赞的菜品序号");int praiseNum = sc.nextInt();praiseNums[praiseNum-1]++;System.out.println("点赞成功");System.out.println("序号"+"\t"+"菜名"+"\t"+"单价"+"\t"+"点赞数");for(int i=0;i<dishNames.length;i++){String price=prices[i]+"元";String praiseNum2=(praiseNums[i]>0)?praiseNums[i]+"赞":"";System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+praiseNums[i]);}break;case 6:isExit=true;break;default:isExit=true;break;}if(!isExit){System.out.println("输入0返回:");num = sc.nextInt();}else{break;}}while(num==0);System.out.println("谢谢使用,欢迎下次光临!");sc.close();}}

Day3.6之吃货联盟项目相关推荐

  1. 吃货联盟 项目日记 0922

    吃货联盟 项目日记 0922 阶段01 订单类与客户端类 吃货阶段01 类的定义 方法的布局 0925_pyhui的技术博客-CSDN博客 https://blog.csdn.net/ifubing/ ...

  2. 20200716-java基础吃货联盟项目

    覆盖技能点: - 程序基本概念 变量 数据类型 - 流程控制 顺序 选择 循环 跳转语句 - 数组 项目演示及需求讲解: "只要动动手指,就能送餐上门",网上定餐深受现代人青睐,现 ...

  3. 2207.16吃货联盟设计大纲和全部代码

    吃货联盟项目 数据主体: 1.我要点餐: 姓名.菜名(提前预置).时间(10-20).地点 2.查看餐袋(订单) 编号.编号名.分数.总价.地址.状态 3.签收订单 4.删除订单 5.点赞 菜品信息 ...

  4. 泡椒java_吃货联盟 源代码 Java初级小项目

    今天给大家一个小的项目:吃货联盟订餐系统.项目功能也很简单:只是模拟日常的订餐流程呦,所以有错误以及功能不完善的地方大家多多包涵 O(∩_∩)O哈哈~ 首先,先展示下代码功能,代码也不是很多,就200 ...

  5. java吃货联盟系统源码_小项目,吃货联盟,java初级小项目,源代码

    小项目,吃货联盟,java初级小项目,源代码 1importjava.util.Scanner;23/**4* 吃货联盟订餐管理系统5*6*/7publicclassOrderingMsg {8pub ...

  6. 吃货联盟订餐系统项目

    吃货联盟订餐系统项目 ​ 代码思路: 第一阶段:分析数据主题 第二阶段:分析并完成整体框架 第三阶段:分析并完成退出功能 第四阶段:分析并完成订餐功能 第五阶段:分析并完成查看餐袋功能 第六阶段:分析 ...

  7. java吃货联盟系统源码_吃货联盟 源代码 Java初级小项目

    咳咳,今天博主给大家写一个小的项目:吃货联盟订餐系统.博主不是大神(互联网架构师的路上ing),也是小白一个,不过是刚入门的小白^_^.项目功能也很简单:只是模拟日常的订餐流程呦,所以有错误以及功能不 ...

  8. 小实战项目之——吃货联盟订餐系统

    系统概述: 我要订餐 查看餐袋 签收订单 删除订单 我要点赞 退出系统 下面是实例代码: import java.util.Scanner;public class OrderFoodSys {pub ...

  9. javaweb项目报告(吃货联盟)

    项目总结.收获和自我感觉 ​​​​​​​ 项目主要分为两个部分:用户,商家(管理员) 遗憾: 点赞和签到功能写的粗糙,没有较强的可行性 没有实现购物车和订单功能,项目的页面做的也不是特别好. 运用的体 ...

最新文章

  1. [笔记]C#基础入门(八)——C#标识符的命名规则
  2. Oracle技术之实例恢复的顺序
  3. optee中User TA的加载和运行
  4. python jit_Pyston是一个基于JIT的Python开源实现
  5. 强势解析 eBay BASE 模式、去哪儿及蘑菇街分布式架构
  6. 2018全球大学AI排名发布,中国高校表现强势!
  7. 计算机视觉领域还能耍什么花样?
  8. oracle 五天之前,Oracle课程档案,第五天
  9. css下拉点击不动,CSS3 - 进行简单的点击下拉[关闭](CSS3 - Making a simple click-dropdown [closed])...
  10. 地震射线追踪与有限差分正演模拟小软件
  11. oracle 中某张表备份,张表系统流程(java程序备份及恢复SQL2000中数据库中的某张表)...
  12. CSDN学院全面改版啦!这次真的“搞大”了!
  13. 可视化布局html5
  14. 求教lotka-volterra模型在matlab中的仿真模拟
  15. Cadence 简易使用教程
  16. 未来5年IT产业及网络市场发展趋势分析
  17. 网站常见的攻击与防护
  18. 实际业务中的数据分析流程和痛点
  19. python基础(七)散点类型与格式化输出
  20. python中cfg_Python进阶:在Python中读取ini、conf、cfg格式的配置文件-cfg文件

热门文章

  1. 教学设计的理念与方法【1】
  2. 智能技术发展迅速,嵌入式系统迎来市场新需
  3. win2019操作系统服务器很卡,win10运行solidwork2019卡顿怎么办_win10运行solidwork2019很卡处理方法-win7之家...
  4. 如何在电脑上安装多个版本的CUDA
  5. 破解YourKit Java Profiler
  6. Oracle 11g 上安装ASM(RHEL5)
  7. 如何设置合适的anchor
  8. findfirst findnext
  9. Jenkins GitLab集成 邮件通知
  10. java notifyall wait,JAVA notifyAll wait 范例