吃货联盟点餐系统
来源:互联网 发布:手机淘宝手机官方版 编辑:程序博客网 时间:2024/04/25 22:45
java点餐系统总结
public static void main(String[] args) { /** * 存储六类订单信息 */ String[] names=new String[30];//保存订餐人姓名 String[] dishMegs=new String[30];//保存所选信息,包括菜品以及分数 int[] times=new int[30];//保存送餐时间 String[] addresses=new String[30];//保存送餐地址 int[] states=new int[30];//保存订单状态:0表示已经预定,1表示已经完成 double [] sumPrices=new double[30];//保存订单总金额 /** * 存储三种菜品名称 */ String[] disNames={"红烧带鱼","鱼香肉丝","小炒肉","时令蔬菜沙拉"}; double[] prices=new double[]{38.0,20.0,35.0,10.0};//菜品数 int[] praiseNums=new int[4];//点赞数 /** * 初始化订单 */ //第一条订单 names[0]="张晴"; dishMegs[0]="红烧带鱼2份"; times[0]=12; addresses[0]="天成路207号"; sumPrices[0]=76.0; states[0]=1; //第二条订单 names[1]="张晴"; dishMegs[1]="鱼香肉丝2份"; times[1]=18; addresses[1]="天成路207号"; sumPrices[1]=45.0; states[1]=0; /** * 实现菜单切换 */ System.out.println("欢迎使用'吃货联盟'订餐系统"); Scanner input=new Scanner(System.in); int num=-1;//声明用户输入参数 boolean isExit=false;//标志用户是否退出系统,true为退出系统 do { System.out.println("*******************************\n" +"1.我要订餐\n" +"2.查看餐带\n" +"3.签收订单\n" +"4.删除订单\n" +"5.我要点赞\n" +"6.退出系统\n" +"*******************************\n"); System.out.println("请选择相应功能的功能编号:"); int choose=input.nextInt(); switch (choose) { case 1: //我要订餐 System.out.println("*****我要订餐*****"); boolean isAdd=false; //循环订单中的名字信息,是否有空位 for(int j=0;j<names.length;j++){ if(names[j]==null){//找到一个空位 isAdd=true; System.out.println("请输入订餐人姓名:"); String name=input.next(); System.out.println("序号\t"+"菜名\t"+"单价\t"+"点赞数"); //循环输出菜品信息 for(int i=0;i<disNames.length;i++){ String price=prices[i]+"元"; String priaiseNum=(praiseNums[i])>0 ? praiseNums[i]+"赞" : "0"; System.out.println((i+1)+"\t"+disNames[i]+"\t"+price+"\t"+priaiseNum); } //用户点菜 System.out.println("请选择您要的菜品编号:"); int chooseDish=input.nextInt(); System.out.println("请输入您的份数:"); int number=input.nextInt(); String dishMeg=disNames[chooseDish-1]+" "+number+"份"; double sumPrice=prices[chooseDish-1]*number; //餐费满50,免5元配送费 double deliCharge=(sumPrice>=50)?0:5; System.out.println("请输入送餐时间(送餐时间是10点值20点之间的整点时间):"); int time=input.nextInt(); while(time<10||time>20){ System.out.println("您输入的时间有误,请输入10-20之间的整数!"); time=input.nextInt(); } System.out.println("请输入送餐地址:"); String address=input.next(); //无需添加状态,默认是0,即已经预定状态 System.out.println("订餐成功!\n" +"您订的是:"+dishMeg+"\n" +"送餐时间是:"+time+"点"+"\n" +"送餐地址是:"+address+"\n" +"餐费:"+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"+date+"\t"+addresses[i]+"\t"+sumPrice+"\t"+state); } } break; case 3: //签收订单 System.out.println("*****签收订单*****"); boolean isSignFind=true; System.out.println("请选择要签收的订单序号:"); int signOrderId=input.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=false;//赋反值,标记为订单已经签收,防止再次进入订单不存在 }else if(names[i]!=null&&states[i]==1&&signOrderId==i+1){ System.out.println("您选择的订单已经完成,不能再次签收"); isSignFind=false;//赋反值,标记为订单已经签收,防止再次进入订单不存在 } } if(isSignFind){ System.out.println("您选择的订单不存在"); } break; case 4: //删除订单 System.out.println("*****删除订单*****"); System.out.println("请输入要删除的订单序号"); int deId=input.nextInt(); boolean isDelFind=false; for(int i=0;i<names.length;i++){ //状态值为1时,序号值为输入的数字-1:可以删除 //状态值为0时,序号值为输入的数字-1:不可以删除 if(names[i]!=null&&states[i]==1&&deId==i+1){ isDelFind=true;//标记已找到此订单 //执行删除操作,删除的位置后的元素依次前移 for(int j=deId-1;j<names.length-1;j++){ names[j]=names[j+1]; dishMegs[j]=names[j+1]; times[j]=times[j+1]; addresses[j]=addresses[j+1]; states[j]=states[j+1]; sumPrices[j]=sumPrices[j+1]; } //清空最后一位 int endIndex=names.length-1; names[endIndex]=null; dishMegs[endIndex]=null; times[endIndex]=0; addresses[endIndex]=null; states[endIndex]=0; sumPrices[endIndex]=0; System.out.println("删除订单成功!"); break; }else if(names[i]!=null&&states[i]==0&&deId==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<disNames.length;i++){ String price=prices[i]+"元"; String priaiseNum=(praiseNums[i])>0 ? praiseNums[i]+"赞" : "0"; System.out.println((i+1)+"\t"+disNames[i]+"\t"+price+"\t"+priaiseNum); } System.out.println("请选择您要点赞的菜品数:"); int priaiseNum=input.nextInt(); praiseNums[priaiseNum-1]++; System.out.println("点赞成功!"); break; case 6: //退出系统 isExit=true; break; default: //退出系统 isExit=true; break; } if(!isExit){ System.out.println("输入0可返回:"); num=input.nextInt(); }else{ break; } } while (num==0); System.out.println("谢谢您的光临");}
阅读全文
0 0
- 吃货联盟点餐系统
- 吃货联盟点餐系统java代码示例
- Java吃货联盟订餐系统
- 吃货联盟订餐系统 java
- JAVA语言基础实战-吃货联盟订餐系统
- java实现吃货联盟订餐系统_学习笔记
- 吃货联盟订餐系统 类和对象
- 吃货联盟
- S1复习项目吃货联盟
- ShopNum1联盟系统常见问题解答
- 无线点餐系统
- android 点餐系统
- android点餐系统
- 饭店点餐系统
- 点餐系统思路
- 智能点餐系统
- 模拟点餐系统
- java点餐系统
- 关于iOS 9.2.1 从App Store下载出现不规则崩溃的问题
- 怎么解决java.lang.NoClassDefFoundError错误
- Graph Practise
- linux mysql 数据库操作
- Ceph-智能分布CRUSH之Object与PG与OSD
- 吃货联盟点餐系统
- sql 语句后台 打印
- Android应用方法隐藏及反调试技术浅析
- PyQt5初级教程--PyQt5的第一个程序[3/13]
- 这些JavaScript编程黑科技,装逼指南,高逼格代码,让你惊叹不已
- JAR包中的MANIFEST.MF文件详解以及编写规范
- 数据结构与算法分析c++:栈的应用(3)
- Game of Connections HDU
- How to uninstall/update/ your python in Linux