编写吃货联盟

package cn.kgc.lgq;

import java.util.Scanner;

public class Lx {

	public static void main(String[] args) {
		String names[] = new String[4];// 保存人名
		String disMegs[] = new String[4];// 保存菜名份数
		double times[] = new double[4];// 保存送餐时间
		String addresses[] = new String[4];// 保存送餐地址
		int[] states = new int[4]; // 保存订单状态: 0:已预订 1:已完成
		double[] sumPrices = new double[4]; // 保存订单的总金额
		String dishNames[] = { "红烧带鱼", "鱼香肉丝", "时令鲜疏" };
		double prices[] = { 38.0, 20.0, 10.0 };
		int[] zan = { 0, 0, 0, };
		names[0] = "张晴";
		disMegs[0] = "红烧带鱼两份";
		times[0] = 12;
		addresses[0] = "天成路207号";
		states[0] = 1;
		sumPrices[0] = 76.0;
		names[1] = "张晴";
		disMegs[1] = "鱼香肉丝两份";
		times[1] = 18;
		addresses[1] = "天成路207号";
		states[1] = 0;
		sumPrices[1] = 45.0;

		Scanner sc = new Scanner(System.in);
		int num = 0;
		boolean exit = false;// (不退出)
		boolean isFind = false;// 表示有订单
		boolean flag = false;// 表示餐袋未满
		boolean ag = false;

		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.print("请选择:");
			int choose = sc.nextInt();
			switch (choose) {
			case 1:
				System.out.println("***我要订餐***");
				for (int i = 0; i < names.length; i++) {
					if (names[i] == null) {
						flag = true;
						System.out.println("请输入姓名:");
						String name = sc.next();
						System.out.println("序号\t\t菜名\t\t单价\t\t点赞数");
						for (int j = 0; j < dishNames.length; j++) {
							System.out.println((j + 1) + "\t\t" + dishNames[j] + "\t\t" + prices[j] + "\t\t" + zan[j]);
						}
						System.out.println("你要点的编号是:");
						int bh = sc.nextInt();
						System.out.println("份数是:");
						int fs = sc.nextInt();
						System.out.println("请输入送餐时间:");
						double time = sc.nextInt();
						while (time < 10 || time > 20) {
							System.out.println("暂未营业,请选择其他时间");
							time = sc.nextInt();
						}
						System.out.println("请输入地址:");
						String add = sc.next();
						System.out.println("订餐成功");
						double zj = prices[bh - 1] * fs;
						double scf = (prices[bh - 1] * fs) > 50 ? 0 : 5;
						System.out.println("你定的是:" + dishNames[bh - 1] + fs + "份");
						System.out.println("送餐时间是:" + time);
						System.out.println("餐费是:" + zj + "送餐费是:" + scf + "总计是:" + (zj + scf));

						names[i] = name;
						times[i] = time;
						addresses[i] = add;
						disMegs[i] = dishNames[bh - 1] + fs + "份";
						sumPrices[i] = zj + scf;
						break;
					}
				}
				if (!flag) {
					System.out.println("sorry,餐袋已满");
				}
				break;
			case 2:
				System.out.println("*******查看餐袋******");
				System.out.println("序号\t\t订单人\t\t餐品信息\t\t\t送餐日期\t\t送餐地址\t\t\t总金额\t\t订单状态");
				for (int i = 0; i < names.length; i++) {
					if (names[i] != null) {
						String t = times[i] + "时";
						String money = sumPrices[i] + "元";
						String state = states[i] == 0 ? "已预订" : "已完成";
						System.out.println((i + 1) + "\t\t" + names[i] + "\t\t" + disMegs[i] + "\t\t\t" + t + "\t\t"
								+ addresses[i] + "\t\t" + money + "\t\t" + state);
					}
				}
				break;
			case 3:
				System.out.println("***签收订单***");
				System.out.println("请输入要签收的订单序号:");
				int xh = sc.nextInt();
				for (int i = 0; i < names.length; i++) {
					if (states[i] == 0 && names[i] != null && xh == i + 1) {
						isFind = true;
						states[i] = 1;
						System.out.println("签收成功");
						break;
					} else if (states[i] != 0 && names[i] != null && xh == i + 1) {
						isFind = true;
						System.out.println("订单已签收不能重复签收");
						break;
					}
				}
				if (!isFind) {
					System.out.println("订单不存在");
					break;
				}
				break;
			case 4:

				boolean is = false;// 标记找到此订单
				System.out.println("***删除订单***");
				System.out.println("请输入要删除的订单序号:");
				int b = sc.nextInt();
				for (int i = 0; i < names.length; i++) {
					if(names[i]!=null&& states[i]==1&&b==i+1){
						is=true;
						for(int j=i;j<names.length-1;j++){
						names[j]=names[j+1];
						disMegs[j] = disMegs[j+1];// 保存菜名份数
						times[j] =times[j+1];// 保存送餐时间
						addresses[j] =addresses [j+1];// 保存送餐地址
						states [j]= states[j+1]; // 保存订单状态: 0:已预订 1:已完成
						sumPrices[j] = sumPrices[j+1] ; 
						}
						names[names.length-1]=null;
						disMegs[names.length-1] = null;// 保存菜名份数
						times[names.length-1] =0;// 保存送餐时间
						addresses[names.length-1] =null;// 保存送餐地址
						states [names.length-1]= 0; // 保存订单状态: 0:已预订 1:已完成
						sumPrices[names.length-1] = 0; 
						System.out.println("删除成功");
						break;
					}else if(names[i]!=null&& states[i]==0&&b==i+1){
						System.out.println("订单未签收");
						is=true;
						break;
					}
					}
						if(!is){
							System.out.println("订单未找到");
							break;
						}
					
				break;
			case 5:
				System.out.println("***我要点赞***");
				System.out.println("序号\t\t菜名\t\t单价\t\t点赞数");
				for (int j = 0; j < dishNames.length; j++) {
					System.out.println((j + 1) + "\t\t" + dishNames[j] + "\t\t" + prices[j] + "\t\t" + zan[j]);
				}
				System.out.println("请输入需要点赞的:");
				int h=sc.nextInt();
				zan[h-1]++;	
				System.out.println("点赞成功!");
				break;
			case 6:
				System.out.println("谢谢使用欢迎下次光临");
				exit = true;
				break;
			default:
				exit = true;
				break;
			}
			if (!exit) {
				System.out.print("请输入0返回:");
				num = sc.nextInt();
			} else {
				break;
			}
		} while (true);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值