点单系统

设计一个点餐系统
 * 使用二维数组存储 菜单名称和对应的价格
 *  1.录如菜单功能
 *   用户录入菜品数量 (键盘自己录入数量) 10
 *   依次录入每个菜单名称和价格   
 *  2.展示所有菜单 
 *  3.开始点餐
 *      展示所有菜单
 *     如果用户输入菜单存在,则加入自己的预定菜单中
 *   如果用户输入的菜单不存在,则提醒该菜品不存在,请重新选择
 *  4.结账
 *  查看当前用户可用资金,如果资金充足,结账成功,清空当前用户预定菜单列表,用户账户资金减少
 *  如果资金不足,提醒用户充值
 *  5.充值功能
 *  用户输入充值金额,如果大于0,则将输入的金额累 加到自己的账户中
 *  6.退出功能
 *  System.exit(1)

import java.util.Scanner;

public class Menu {
	public static void main(String[] args) {
		System.out.println("欢迎进入点餐系统==========");
		@SuppressWarnings("resource")
		Scanner sc=new Scanner(System.in);
		String[][]menu=null;
		boolean flag=true;
		Double sumMoney = 0.0;
		double balance=0.0;
		while(flag==true) {
		System.out.println("请选择菜单:1.录入菜单 2.展示所有菜单 3.开始点餐 4.结账 5.充值功能 6.退出功能");
		int id =sc.nextInt();
		switch(id) {
			case 1:
				System.out.println("请输入菜的数量:");
				int num=sc.nextInt();
				//创建一个二维数组存放菜单
				menu=new String[num][2];
				for(int i=0;i<num;i++) {
					System.out.println("请输入菜品名称:");
					String foodName=sc.next();
					System.out.println("请输入菜品金额:");
					String foodMoney=sc.next();
					menu[i][0]=foodName;
					menu[i][1]=foodMoney;
				}
				System.out.println("录入完成!");
				break;
			case 2:
				if(menu==null) {
					System.out.println("菜单为空,请先录入菜单!");
				}else {
					System.out.println("  菜名=======金额");
					for(int i=0;i<menu.length;i++){
						for(int j=0;j<menu[i].length;j++){
							System.out.print(menu[i][j]+"         ");
						}
						System.out.println("");
					}
				}
				break;
			case 3:
				if(menu==null) {
					System.out.println("菜单为空,请先录入菜单!");
					break;
				}
				while(true) {
					System.out.println("请点餐,输入菜名名称,输入end录入结束!");
					String name = sc.next();
					if(name.equals("end")) {
						break;
					}
					for(int i=0;i<menu.length;i++) {
							if(name.equals(menu[i][0])) {
								sumMoney+=Double.parseDouble(menu[i][1]);
								System.out.println("点单"+name+"成功!当前总金额为:"+sumMoney);
								break;
							}
					}
				}
				break;
			case 4:
				if(sumMoney==0) {
					System.out.println("还未点菜,请先点菜!");
					break;
				}else if (balance>=sumMoney) {
					balance-=sumMoney;
					System.out.println("消费愉快");
					System.out.println("卡上余额为:"+balance);
				} else {
					System.out.println("余额不足,是否充值?充值输入5");
				}
				break;
			case 5:
				System.out.println("请输入充值金额:");
				double recharge=sc.nextDouble();
				if (recharge>0) {
					balance+=recharge;
					System.out.println("充值成功");
					System.out.println("卡上余额:"+balance);
				}
				break;
			case 6:
				System.out.println("退出成功!欢迎下次光临!");
				flag=false;
				break;
			default:
				System.out.println("录入指令错误!请重新录入1~6的指令:");
				break;
		}
		}
	}
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Wen先森

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

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

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

打赏作者

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

抵扣说明:

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

余额充值