案例 吃货联盟

package Demo;

import java.util.Scanner;

public class Demo001chihuo {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	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];			//保存订单状态:0表示已预定;1表示已完成
	double sumPrices[]=new double[4];	//保存订单的总金额
	int praiseNums[]=new int[3];		//点赞数
	
	String dishNames[]= {"清炖王八","爆炒羊腰","大补汤"};//定义一个已存在的菜单
	int prices[]= {88,68,58};
	   
	
	//初始化第一条订单信息
	names[0]="张三";
	dishMegs[0]="清炖王八 2份";
	times[0]=12;
	addresses[0]="秋名山";
	sumPrices[0]=196.0;//合计超过50元 免5元配送费
	states[0]=1;//表示订单已完成
	
	//初始化第二条订单信息
	names[1]="李四";
	dishMegs[1]="爆炒羊腰 2份";
	times[1]=18;
	addresses[1]="光明顶";
	sumPrices[1]=64.0;//合计超过50元 免5元配送费
	states[1]=0;//表示订单预定
	
	Scanner input=new Scanner(System.in);
	int num=-1;
	boolean isExit=false;//代表用户是否退出;true是退出
	System.out.println("欢迎来到“吃货联盟订餐系统”");
	do {
		//显示菜单
		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("请选择你要进行的操作:");
		int choose=input.nextInt();//chose代表选择的菜单序号
		
		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.print("请输入订餐人姓名:");
						String name=input.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] + "赞":"0";
							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+"份";//代表菜品总金额
							int sumPrice=prices[chooseDish-1]*number;
							double peisong=(sumPrice>50)?0:5;//如总金额超过50则免5元配送费;反之加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 addresse=input.next();
							
							System.out.println("订餐成功√");
							System.out.println("你订的是:"+dishMeg);
							System.out.println("送餐时间:"+time);
							System.out.println("餐费:"+sumPrice+"元"+"\t"+"配送费"+peisong+"元"+"\t"+"合计"+(sumPrice+peisong)+"元");
							
							names[j]=name;//代表从键盘输入的订餐人名字
							dishMegs[j]=dishMeg;//代表从键盘输入的菜单
							times[j]=time;//代表熊键盘上输入的送餐时间
							addresses[j]=addresse;//代表从键盘上输入的送餐地址
							sumPrices[j]=sumPrice+peisong;//代表从输入的订餐总金额
							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 time=times[i]+"点";
						String sumPrice=sumPrices[i]+"元";
						System.out.println((i+1)+"\t"+names[i]+"\t"+dishMegs[i]+"\t\t"+time+"\t"+addresses[i]+"\t"+sumPrice+"\t\t"+state);
						
					}
					
				}
				break;
			case 3:
				System.out.println("**********签收订单**********");
				boolean isQianShou=false;//找到要签收的订单
				System.out.print("请输入你要签收的订单序号:");
				int isXuHao=input.nextInt();//代表从键盘上获取的订单序号
				for(int i=0;i<names.length;i++) {
					if(names[i]!=null && states[i]==0 && isXuHao==i+1) {
						states[i]=1;//表示订单状态为 已签收/已完成
						System.out.println("订单签收成功!");
						isQianShou=true;//表示找到客户从键盘上输入的订单序号
					}else if(names[i]!=null && states[i]==1 && isXuHao==i+1){
						System.out.println("你选择的订单已签收,不能再次进行签收!");
						isQianShou=true;//表示已找到次订单
					}
				}
				if(!isQianShou) {
					System.out.println("你选择的订单不存在!");
				}
				break;
			case 4:
				System.out.println("**********删除订单**********");
				boolean isShanChu=false;//标记是否找到要删除的订单
				System.out.print("请输入你要删除的订单序号:");
				int isDingDan=input.nextInt();//代表键盘获取从键盘上输入的要删除的订单号
				for(int i=0;i<names.length;i++) {
					if(names[i]!=null && states[i]==1 && isDingDan==i+1) {
						isShanChu=true;//表示已找到此订单
						
						for(int j=0;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];
							sumPrices[j]=sumPrices[j+1];
							
						}
						
						int ZuiHouYiWei=names.length-1;
						names[ZuiHouYiWei]=null;
						dishMegs[ZuiHouYiWei]=null;
						times[ZuiHouYiWei]=0;
						addresses[ZuiHouYiWei]=null;
						states[ZuiHouYiWei]=0;
						sumPrices[ZuiHouYiWei]=0;
						System.out.println("删除订单成功!");
						break;
					}else if(names[i]!=null && states[i]==0 && isDingDan==i+1) {
						System.out.println("你选择的订单未签收,不能删除!");
						isShanChu=true;//表示已找到此订单
						break;
					}
				}
				if(!isShanChu){
					System.out.println("你要删除的订单不存在!");
				}
				break;
			case 5:
				System.out.println("**********我要点赞**********");
				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 praiseNum=input.nextInt();
				praiseNums[praiseNum-1]++;//代表点赞加1
				System.out.println("点赞成功!");
				break;
			case 6:
				System.out.println("**********退出系统**********");
					isExit=true;
					break;
				default:
					isExit=true;
					break;
		
		}
	
		
		
		if(!isExit) {
			System.out.println("输入0返回");
			num=input.nextInt();
		}else {
			break;
		}
	}while(num==0);
	System.out.println("感谢你的支持,欢迎你下次光临");
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值