设计一个点餐系统
* 使用二维数组存储 菜单名称和对应的价格
* 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;
}
}
}
}