版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、package cn.bdqn;import java.util.Scanner;* author 韩强* Date 2017 -03- 09* Discription : Java 基础通过数组、选择结构、循环等实现吃货联盟订餐系统。* GongNeng1 、我要订餐; 2 、查看餐袋;3 、签收订单;4 、删除订单; 5 、我要点赞; 6 、退出系统。*/public class ChiHuo public static void main(String args ) Scanner sc = new Scanner(System. in );/ 初始化订餐人姓名数组String name
2、 = new String4;/ 初始化菜品信息数组String disMegs = new String4;/ 初始化送餐时间数组int times = new int 4;/ 初始化送餐地址数组String address = new String4;/ 初始化订单状态数组, 0表示已预订, 1 表示已完成int state = new int 4;/ 初始化订单的总金额数组double sumPrice = new double 4;/ 初始化2 个订单信息name0 =" 张飞 " ;disMegs 0 ="东坡肘子 2 份" ;times 0
3、= 11;address 0 ="屯溪路 193号" ;sumPrice 0 = 98.0;state 0 = 1;name1 =" 张龙 " ;disMegs 1 ="扣三丝 2 份" ;times 1 = 18;address 1 ="天成路 207号" ;sumPrice 1 = 178.0;state 0 = 0;/ 初始化供选择的菜品信息String disNames = "东坡肘子 " , " 佛跳墙 " ,扣三丝 " ;double price = 4
4、9, 129, 89 ;/ 菜品价格int dianZan = new int 3; / 点赞System. out .println( "" );String n = "0" ;go: do " 欢迎使用 " 吃货联盟订餐系统"*""1 、我要订餐")"2 、查看餐袋")"3 、签收订单")"4 、删除定单")"5 、我要点赞")"6 、退出系统")"*"" 请选择
5、: " );System. out .println( System. out .println( System. out .println( System. out .println( System. out .println( System. out .println( System. out .println( System. out .println( System. out .print( int num = sc .nextInt();switch ( num) case 1: String answer = "y" ;ok: do for ( int
6、 j = 0; j < name. length ; j +) if ( name j = null ) System. out .println( "* 我要订餐*"System. out .println( "* 菜品信息 *");System. out .println( " 序号 t 名称 t 价格 t 点赞 " );for ( int i = 0; i < disNames . length ; i +) System. out .println( i + 1) + "t"+ disNames
7、 i + "t"+ price i +"t"+dianZan i );System. out .println(”*");System. out .print( " 请选择菜单序号:");int index = sc .nextInt(); / 菜单序号软,直到正确为止菜品序号 " );/ 如果菜单号选择不对,让他输入到手while ( index > 3 | index < 1) System. out .print(" 请选择 1-3 号index = sc .nextInt();if (
8、 index > 0 && index <= 3) break ;System. out .print( " 请输入订餐人姓 名: " );String nameOrder = sc .next(); / 订 餐人姓名System. out .print( " 请输入订餐数量: ");int numOrder = sc .nextInt(); / 订 餐数量doublepriceOrder = price index -1 * numOrder ; / 单价 * 订餐数量/ 如果订餐总额达50元,免费送餐,否则要付 5 元送餐
9、费double rate = ( priceOrder >= 50) ? 0 : 5;/ 总餐费是餐费+运送费double sumPriceOrder = priceOrder + rate ;/ 订餐信息描述String disMeg = disNames index - 1 + numOrder + " 份" ;System. out .print( " 请输入订餐时间: ");int timeOrder = sc .nextInt(); / 订 餐时间while ( timeOrder < 8 | timeOrder > 20)
10、System. out .print( " 订餐时间为早 8 点- 晚20点,请重新输入:" );timeOrder = sc .nextInt();System. out .print( " 请输入送餐地址:");String addOrder = sc .next();System. out .println( " 订餐成功! " );/ 显示订餐信息" 您定的是:" +" 送餐时间:" +" 餐费是: " +总计: " +System. out .printl
11、n( disMeg );System. out .println( timeOrder + " 点" );System. out .println( priceOrder + ", 运费是: " + rate + sumPriceOrder + " 元" );/ 把订餐信息保存得到数组中去name j = nameOrder ;disMegs j = disMeg ;times j = timeOrder ;address j = addOrder ;sumPrice j = sumPriceOrder ; break ; else
12、if ( j = name. length - 1) /找到最后一个,还没有空位说明已经元素已经满了System. out .println(" 您的餐袋已满!");break ok; / 直接跳出do-while循环System. out .print( " 是否继续点餐(y/n):");answer = sc .next(); while ( answer .equals( "y" );break ;case 2: System. out .println("* 查看餐袋 *" );System. out .p
13、rintln(" 序号 t 订餐人 t 餐品信息 tt 送餐日期 t 送餐地址 tt 订单状态 t 总金额 " );for ( int i = 0; i < name. length ; i +) if ( name i != null ) System. out .println( i + 1) +"t"+name i + "t"+ disMegs i + "t" + times i + "t"+ address i + "t"+ state i +"t&q
14、uot;+ sumPrice i ); break ;case 3: System. out .println( "* 签收订单 *" );System. out .print( "请选择要签收的订单序号: ");int orderId = sc .nextInt();while ( true ) / 如果输入的单号超出范围, 则提示重新输入if ( orderId < 1 | orderId > name. length ) System. out .print( " 请输入 1-4 的数字: ");orderId =
15、sc .nextInt(); else break ;boolean flag = false ; / 默认条件是假,设立 是否找到的标记, false 没找到, true 找到了for ( int i = 0; i < name. length ; i +) if ( name i != null && state i = 0 &&orderld=i + 1) state i = 1;/找到目标元素,把值修改成1System. out .println("编号"+ (i + 1) +”的定单已签收成功!");flag = t
16、rue ; / 表示找到了 else if ( name i != null && state i =1 && orderId = i + 1) System. out .println("此订单已签收,不能重复签收!");flag = true ; / 表示找到了if (! flag ) / 当 flag=false时,!flag=ture,if语句执行System. out .println("没有此编号订单!”);break ;case 4: String answer = "y"do System. ou
17、t .println( "* 删除订单 *");System. out .print("请输入要删除的订单号: ')int deleteId = sc .nextInt();while (true ) /如果输入的单号超由范围,则提示重新输入if ( deleteId < 1 | deleteId >name. length ) System. out .print("请输入 1-4 的数字:”);deleteId = sc .nextInt(); else break ;boolean flag = false ; / 默认条件是假
18、,设立是否找到的标记, false 没找到, true 找到了for ( int i = 0; i < name. length ; i +) if ( name i != null && state i = 1&& deleteId = i + 1) flag = true ; / 表示找到了 , 已经签收,可以删除/ 把要删除元素后面的元素向前移一位把要删除元素覆盖,然后把最后一位元素设置为 null 或 0for ( int j = deleteId - 1; j <name. length - 1; j +) name j = name j
19、+ 1;disMegs j = disMegs j + 1;times j = times j + 1;address j = address j + 1;sumPrice j = sumPrice j + 1; state j = state j + 1;name name. length - 1 = null ;disMegs name. length - 1 =null ;times name. length - 1 = 0;address name. length - 1 =null ;state name. length - 1 = 0;sumPrice name. length -
20、 1 = 0;System. out .println( " 删除订单成功!");break ; else if ( name i != null && state i =0 && deleteld = i + 1) flag = true ; /表示找到了,没有签收, 不能删除System. out .println("订单没有签收,不能删除!”);break ;if (! flag ) / 当 flag=false时,用ag=ture,if语句就行System. out .println( "您要删除的订单不存在!&q
21、uot;);System. out .print("是否继续删除(y/n):");answer = sc.next(); while ( answer .equals( "y"); break ;case 5: String answer = "y" do System. out .println(System. out .println( 品彳言息*");System. out .println( 点赞");for ( int i = 0; i <"*我要点赞*"”*);菜”序号t名称t价格tdisNames . length ; i +)System. out .println( i + 1) +"t"+disNames i + "t"+ price i + "t"+ dianZan i );System. out .println(”*");System. out .print( " 请选择要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安山岩开采项目施工方案
- 空调项目投资计划书
- 城市绿道配套驿站选址勘察方案
- 2026年镜前灯技术革新与市场前景分析报告
- 2026商旅行业合规经营与风险管理深度研究报告
- 云南红河州第一中学2027届物理高二第一学期期末达标检测试题含解析
- 2026大数据分析技术在企业管理中的应用研究
- 2026中国咖啡茶饮市场品牌分层与区域扩张战略报告
- 安徽省舒城桃溪中学2027届物理高二第一学期期末质量跟踪监视试题含解析
- 2027届吉林省四平市公主岭市第五高级中学高三上物理期中经典模拟试题含解析
- SYT 6649-2025《油气管道管体缺陷修复技术规范》
- 广告牌制作安装工程施工方案
- 2026年秋统编版小学道德与法治四年级上册(全册)教学设计(新教材 附目录p112)
- 2026年秋季新教材统编版九年级上册道德与法治全册知识点背诵提纲精简版
- 一年级下册数学口算计算拔高练习
- 《红星照耀中国》知识点梳理与练习(解析版)
- 2026宁波中考英语知识点背诵清单练习含答案
- 财务部门三大报表解读
- 《室外排水设计标准》
- 电气设备操作说明书范本
- 移民公司内部管理制度
评论
0/150
提交评论