Java吃货联盟订餐系统

OrderingUtil类

import java.util.Scanner;

public class OrderingUtil {
	Scanner input = new Scanner(System.in);
	String[] dishNames = { "红烧带鱼", "鱼香肉丝", "时令鲜蔬", };
	double[] prices = new double[] { 38.0, 20.0, 10.0 };
	int[] praiseNums = new int[3];
	OrderingSet oset = new OrderingSet();

	public void initial() {
		oset.names[0] = "张晴";
		oset.dishMegs[0] = "红烧带鱼 2份";
		oset.times[0] = 12;
		oset.addresses[0] = "天成路207号";
		oset.sumPrices[0] = 76.0;
		oset.states[1] = 0;

		oset.names[1] = "张晴";
		oset.dishMegs[1] = "鱼香肉丝 2份";
		oset.times[1] = 18;
		oset.addresses[1] = "天成路207号";
		oset.sumPrices[1] = 45.0;
		oset.states[1] = 0;
	}

	public void startMenu() {

		int num = -1;
		boolean isExit = false;
		System.out.println("\n欢迎使用“吃货联盟订餐系统”");
		int choose;
		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("请选择:");
			choose = input.nextInt();
			switch (choose) {
			case 1:
				System.out.println("****我要订餐***");
				add();
				break;
			case 2:
				System.out.println("***查看餐袋***");
				display();
				break;
			case 3:
				System.out.println("***签收订单***");
				sign();
				break;
			case 4:
				System.out.println("***删除订单***");
				delete();
				break;
			case 5:
				System.out.println("***我要点赞***");
				praise();
				break;
			case 6:
				System.out.println("谢谢使用,欢迎下次光临!");
				isExit = true;
				break;
			default:
				isExit = true;
				break;
			}
			if (!isExit) {
				System.out.print("输入0返回:");
				num = input.nextInt();
			} else {
				break;
			}
		} while (num == 0);

	}

	void display() {
		System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t总金额\t订单状态");
		for (int i = 0; i < oset.names.length; i++) {
			if (oset.names[i] != null) {
				String state = (oset.states[i] == 0) ? "已预约" : "已完成";
				String date = oset.times[i] + "点";
				String sumPrice = oset.sumPrices[i] + "元";
				System.out.println((i + 1) + "\t" + oset.names[i] + "\t"
						+ oset.dishMegs[i] + "\t" + date + "\t"
						+ oset.addresses[i] + "\t" + sumPrice + "\t" + state);
			}
		}
	}

	boolean add() {
		Boolean isAdd = false;
		for (int j = 0; j < oset.names.length; j++) {
			if (oset.names[j] == null) {
				isAdd = true;
				System.out.println("请输入订餐人姓名:");
				String name = input.next();
				System.out.println("序号" + "\t" + "菜名" + "\t" + "单价" + "\t"
						+ "点赞数");
				for (int i = 0; i < dishNames.length; i++) {
					String price = prices[i] + "元";
					String priaiseNum = (praiseNums[i]) > 0 ? praiseNums[i]
							+ "赞" : "0";
					System.out.println((i + 1) + "\t" + dishNames[i] + "\t"
							+ price + "\t" + priaiseNum);
				}
				System.out.print("请选择您要点的菜单编号:");
				int chooseDish = input.nextInt();
				System.out.print("请选择您需要的份数:");
				int number = input.nextInt();
				String dishMeg = dishNames[chooseDish - 1] + " " + number + "份";
				double sumPrice = prices[chooseDish - 1] * number;
				double deliCharge = (sumPrice >= 50) ? 0 : 5;
				System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");
				int time = input.nextInt();
				while (time < 10 || time > 20) {
					System.out.print("您的输入有误,请输入10~20间的整数!");
					time = input.nextInt();
				}
				System.out.print("请输入送餐地址:");
				String address = input.next();
				System.out.println("订餐成功!");
				System.out.println("您订的是:" + dishMeg);
				System.out.println("送餐时间" + time + "点");
				System.out.println("餐费:" + sumPrice + "元,送餐费" + deliCharge
						+ "元,总计:" + (sumPrice + deliCharge) + "元。");
				oset.names[j] = name;
				oset.dishMegs[j] = dishMeg;
				oset.times[j] = time;
				oset.addresses[j] = address;
				oset.sumPrices[j] = sumPrice + deliCharge;
				break;
			}
		}
		if (!isAdd) {
			System.out.println("对不起,您的餐袋已满!");
			return false;
		} else {
			return true;
		}
	}

	void sign() {
		boolean isSignFind = false;
		System.out.println("请选择要签收的订单序号:");
		int signOrderId = input.nextInt();
		for (int i = 0; i < oset.names.length; i++) {
			if (oset.names[i] != null && oset.states[i] == 0
					&& signOrderId == i + 1) {
				oset.states[i] = 1;
				System.out.println("订单签收成功");
				isSignFind = true;
			} else if (oset.names[i] != null && oset.states[i] == 1
					&& signOrderId == i + 1) {
				System.out.println("您选择的订单已完成签收,不能再次签收!");
				isSignFind = true;
			}
		}
		if (!isSignFind) {
			System.out.println("您选择的订单不存在!");
		}
	}

	void delete() {
		boolean isDelFind = false;
		System.out.println("请输入要删除的订单序号:");
		int delId = input.nextInt();
		for (int i = 0; i < oset.names.length; i++) {
			if (oset.names[i] != null && oset.states[i] == 1 && delId == i + 1) {
				isDelFind = true;
				for (int j = delId - 1; j < oset.names.length - 1; j++) {
					oset.names[j] = oset.names[j + 1];
					oset.dishMegs[j] = oset.dishMegs[j + 1];
					oset.times[j] = oset.times[j + 1];
					oset.addresses[j] = oset.addresses[j + 1];
					oset.states[j] = oset.states[j + 1];
					oset.sumPrices[j] = oset.sumPrices[j + 1];
				}
				int endIndex = oset.names.length - 1;
				oset.names[endIndex] = null;
				oset.dishMegs[endIndex] = null;
				oset.times[endIndex] = 0;
				oset.addresses[endIndex] = null;
				oset.states[endIndex] = 0;
				oset.sumPrices[endIndex] = 0;
				System.out.println("删除订单成功!");
				break;
			} else if (oset.names[i] != null && oset.states[i] == 0
					&& delId == i + 1) {
				System.out.println("您选择的订单未签收,不能删除!");
				isDelFind = true;
				break;
			}
		}
		if (!isDelFind) {
			System.out.println("您要删除的订单不存在!");
		}
	}

	void praise() {
		System.out.println("序号" + "\t" + "菜名" + "\t" + "单价");
		for (int i = 0; i < dishNames.length; i++) {
			String price = prices[i] + "元";
			String priaiseNum = (praiseNums[i]) > 0 ? praiseNums[i] + "赞" : "";
			System.out.println((i + 1) + "\t" + dishNames[i] + "\t" + price
					+ "\t" + priaiseNum);
		}
		System.out.println("请选择您要点赞的菜品序号:");
		int priaiseNum = input.nextInt();
		praiseNums[priaiseNum - 1]++;
		System.out.println("点赞成功!");
	}
}

OrderingSet类

public class OrderingSet {
	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];
	double[] sumPrices = new double[4];
	
	public static void main(String[] args) {
		OrderingUtil om = new OrderingUtil();
		om.initial();
		om.startMenu();
	}

}

执行结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

molmoldl

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

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

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

打赏作者

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

抵扣说明:

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

余额充值