java体会面向过程编程简易订餐功能实现

目的:为了能深刻体会面向对象。

效果图:

 代码如下:

只要学习了java基础的循环,数据类型,变量,数组,循环,条件判断这些基础知识,就可以实现这个简易功能。

//订单信息数组
		String[] names = new String[4];//订餐人
		String[] dishMegs = new String[4];//餐品信息
		String[] times = new String[4];//送餐时间
		String [] addresses =new String[4];//送餐地址
		int [] states =new int[4];//订单状态
		double [] sumPrices =new double[4];//总金额
		
		//存入数据
		names[0]="哈哈";
		dishMegs[0]="烤鸡10个";
		times[0]="12";
		addresses[0]="安德门";
		states[0] =1;
		sumPrices[0] =500.0;
		//存入数据
		names[1]="嘻嘻";
		dishMegs[1]="啤酒20";
		times[1]="12";
		addresses[1]="天龙寺";
		states[1] =0;
		sumPrices[1] =1600.0;
		//餐品数据
		String[] dishNames = {"烤鸡","啤酒","牛肉"};
		double [] prices = {50,80,40};
		int [] praiseNums = {0,0,0};
		
		//编写菜单
		do {
			System.out.println("欢迎使用“吃货联盟订餐系统”");
			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.print("请选择:");
			int choice = new Scanner(System.in).nextInt();
			switch (choice) {
			case 1:
				System.out.println("***我要订餐***");
				Boolean isempty = true;
				for(int i=0;i<names.length;i++) {
					if (names[i]==null) {
						isempty=false;
						break;
					} 
				}
				if(!isempty) {
				System.out.print("请输入订餐人姓名:");
				String urlname = new Scanner(System.in).next();
				System.out.print("序号"+"\t"+"菜名"+"\t"+"单价"+"\t"+"点赞数"+"\n");
				for(int i =0;i<dishNames.length;i++) {
					System.out.println((i+1)+"\t"+dishNames[i]+"\t"+prices[i]+"元\t"+praiseNums[i]+"赞");
				}
				System.out.print("请选择你要点的菜品编号:");
				int cai =new Scanner(System.in).nextInt();
				System.out.print("请选择你需要的份数:");
				int num =new Scanner(System.in).nextInt();
				System.out.print("请输入送餐时间(送餐时间是10点至20点整点送餐):");
				int time =new Scanner(System.in).nextInt();
				if (time<10||time>20) {
					System.out.println("请输入送餐时间(送餐时间是10点至20点整点送餐):");
					 time =new Scanner(System.in).nextInt();
				} 
				System.out.print("请选择你要配送的地址:");
				String address = new Scanner(System.in).next();
				
				System.out.print("订餐成功!");
				String yourDishMeg= dishNames[cai-1]+" "+num+"份";
				String distime =time+"点";
				double  price =0.0;//总餐费
				double  price1 =prices[cai-1]*num;//餐费
				double catch1 =0.0;//餐费大于100不收餐费,否则6元
				catch1 =price1>100?0.0:6.0;
				price =price1+catch1;
				System.out.println("订餐成功!");
				System.out.println("**********");
				System.out.println("订的是"+yourDishMeg);
				System.out.println("送餐时间是"+distime);
				System.out.println("餐费"+price1+"\t"+"配送费"+catch1+"\t"+"总计"+price);
				System.out.println("*******************");				
				//存入
				int insertIndex =names.length-1;
				for(int i=0;i<names.length;i++ ) {
					if (names[i]==null) {
						insertIndex=i;
						break;
					} 
				}
				//添加新数据
				names[insertIndex]=urlname;
				dishMegs[insertIndex]=yourDishMeg;
				times[insertIndex]=distime;
				addresses[insertIndex] =address;
				sumPrices[insertIndex]=price;
				states[insertIndex]=0;
				}
				System.out.println("输入0返回");
				int ding =new Scanner(System.in).nextInt();
				if (ding==0) {
					continue;
				} 		
			case 2:
				System.out.println("***查看餐带***");
				System.out.print("序号"+"\t"+"订餐人"+"\t"+"餐品信息"+"\t"+"送餐日期"+"\t"+"送餐地址"+"\t"+"总金额"+"\t"+"     "+"订单状态"+"\n");
				for(int i =0;i<names.length;i++) {
					if (names[i]!=null) {
						System.out.println((i+1)+"\t"+names[i]+"\t"+dishMegs[i]+"\t"+times[i]+"点\t"+addresses[i]+"\t"
								+sumPrices[i]+"元"+"\t     "+(states[i]==1?"已完成":"已预订"));
					}
				}
				System.out.println("输入0返回");
				int see =new Scanner(System.in).nextInt();
				if (see==0) {
					continue;
				} 		
			case 3:
				System.out.println("***签收订单***");
				boolean isf = true;
				int liang =0 ;
				for (int i = 0; i < names.length; i++) {
					if (names[i]==null) {
						liang=i;
						break;
					}
				}
				while(isf) {
					System.out.print("请选择要签收的订单序号:");
					int yuhao =new Scanner(System.in).nextInt()-1;
					if(yuhao>=0&&yuhao<liang) {
						if (states[yuhao]!=1) {
							states[yuhao]=1;
							System.out.println("订单签收成功!");
							isf=false;
						} else {
							System.out.println("已签收!不可重复签收");
							isf=false;
						}
					}else {
						System.out.println("订单不存在");
						continue;
					}
				}
				System.out.println("输入0返回");
				int qian =new Scanner(System.in).nextInt();
				if (qian==0) {
					continue;
				} 		
			case 4:
				System.out.println("***删除订单***");		
				System.out.println("请输入要删除订单序号");		
				int delNumber =new Scanner(System.in).nextInt();
				boolean isf1 = false;
				for (int i = 0; i < names.length; i++) {
					if (names[i]!=null&&i==delNumber-1) {
						isf1=true;
						break;
					}
				}
				if (isf1) {
				if(states[delNumber-1]==1) {
					System.out.println("订单删除成功!");
					int delindex =delNumber-1;
					for(int i =delindex;i<names.length-1;i++ ) {
						names[i] =names[i+1];
						dishMegs[i] =dishMegs[i+1];
						times[i]=times[i+1];
						sumPrices[i]=sumPrices[i+1];
						states[i]=states[i+1];
						addresses[i]=addresses[i+1];
					}
					int lastindex =names.length-1;
					names[lastindex] =null;
					dishMegs[lastindex] =null;
					times[lastindex]=null;
					sumPrices[lastindex]=0.0;
					states[lastindex]=0;
					addresses[lastindex]=null;	
				}else {
					System.out.println("未签收,不能删除");
				}}else {
					System.out.println("订单不存在请重新输入!");
					continue;
				}
				System.out.println("输入0返回");
				int schi =new Scanner(System.in).nextInt();
				if (schi==0) {
					continue;
				} 				
			case 5:
				 int dianzan =1;
				 int dianzan1 =1;
				 int dianzan2 =1;
				System.out.println("***我要点赞***");
				System.out.println("序号"+"\t"+"菜名"+"\t"+"单价");
				for(int i =0;i<dishNames.length;i++) {
					System.out.println(i+1+"\t"+dishNames[i]+"\t"+prices[i]);
				}
				System.out.print("请选择你要点赞的菜品序列:");
				int num =new Scanner(System.in).nextInt();
				if(num-1<dishNames.length&&num-1>=0) {
					if(num==1) {
						praiseNums[0]+=dianzan;
					}
					if(num==2) {
						praiseNums[1]+=dianzan1;
					}
					if(num==3) {
						praiseNums[2]+=dianzan2;
					}
					System.out.println("点赞成功!");
				}else {
					System.out.println("该菜品不存在重新输入");
					continue;
				}
				
				System.out.println("输入0返回");
				int zan =new Scanner(System.in).nextInt();
				if (zan==0) {
					continue;
				} 			
			case 6:
				System.out.println("退出程序!");
				break;

			default:
				System.out.println("请选择正确序号!");
				continue;
			}
			break;
			
		} while (true);	

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小嘴鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值