基本点餐系统的实现

基本点餐系统的实现

一、初始化餐品信息


int number = 0;
double totalMoney[] = new double[4];
String []name = new String[4];
int canPinList [] = new int[4];
int fenShu []= new int[4];
int time[] = new int[4];
String address[] = new String[4];
int zhuangTai[] = new int[4];
int i =0;
int []dingDanBianHao = new int [4];
int [] list = new int []{01,02,03,04};
String [] mingCheng = new String []{"素红烧肉","开水白菜","佛跳墙","蜜汁熊掌"};
double [] price = new double[]{18,12,68,88};
int [] dianZan = new int []{50,100,20,12};


二、使用do-while循环实现订餐信息的显示



int backIndex = -1;
boolean outFlag = false;

// 循环展示主菜单
do {
    // 主菜单导航
    System.out.println("\n欢迎使用“吃货联盟订餐系统”\n");
    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("请输入菜单序号(1-6):");

    // 定义菜单序号变量
    int chooseIndex = input.nextInt();

    // 根据用户的选择,切换菜单
    switch (chooseIndex) {
        case 1:
            System.out.println("------我要订餐------");
            System.out.print("请输入订餐人姓名:");
            break;
        case 2:
            System.out.println("------查看餐袋------");
            break;
        case 3:
            System.out.println("------签收订单------");
            break;
        case 4:
            System.out.println("------删除订单------");
            break;
        case 5:
            System.out.println("------我要点赞------");
            break;
        case 6:
            System.out.println("------退出系统------");
            outFlag = true;
            break;

        default:
            outFlag = true;
            break;
    }

    // 判定是否选择了退出系统
    if(outFlag){
        break;
    } else {
        System.out.print("请输入0返回主菜单:");
        backIndex = input.nextInt();
    }
} while (backIndex == 0);

System.out.println("谢谢使用吃货联盟,欢迎下次光临!!!");
input.close();



注意:此时控制退出的方法是设置一个标志位,如果不满足条件则退出

图片效果:

在这里插入图片描述

三、基本功能的实现

1、订餐功能实现



System.out.println("********我要订餐********");
System.out.println("请输入订餐人姓名");
name[i] = input.next();
System.out.println("订餐人姓名是:"+name[i]);
System.out.print("菜品序号:"+"  \t");
for(int list1:list){
    System.out.print(list1+"\t\t"+"\t"+"\t");
}
System.out.println();
System.out.print("菜品名称:"+"\t");
for(String mingCheng1:mingCheng){
    System.out.print(mingCheng1+"\t"+"\t");
}
System.out.println();
System.out.print("菜品单价:"+"\t  ");
for(double price1:price){
    System.out.print(price1+"\t"+"\t"+"\t");
}
System.out.println();
System.out.print("菜品点赞:"+" \t");
for(int dianZan1 : dianZan){
    System.out.print(dianZan1+"\t\t"+"\t"+"\t");
}
System.out.println();
System.out.println("请输入要选择的餐品序号和份数");
System.out.println("请输入菜品序号:");
canPinList[i] =input.nextInt();
System.out.println("请输入份数:");
fenShu[i] = input.nextInt();
System.out.println("请输入送餐时间,必须是天10 到 20 点间整点送餐");
if(time[i]>10&&time[i]<20) {
    time[i]=input.nextInt();
    System.out.println("配送时间为:"+time[i]);
}else {

    for(time[i] = input.nextInt();time[i]<10||time[i]>20;time[i] = input.nextInt()){

        System.out.println("您好,此段时间不配送:");
        System.out.println("输入错误,请重新输入");
        System.out.println("请输入送餐时间,必须是天10 到 20 点间整点送餐");

    }

}

System.out.println("请输入送餐地址");
address[i] = input.next();
System.out.println("请输入订单状态 0:已预定(默认状态) 1、已完成(订单已签收)");
zhuangTai[i] = input.nextInt();
if(zhuangTai[i] == 0){
    System.out.println("已预订");
}else if(zhuangTai[i] ==1){
    System.out.println("已完成");
}
System.out.println("总金额");
int peiSongFei = 6;
totalMoney[i] = price[canPinList[i]-1] *fenShu[i];
if(totalMoney[i]>56.0){
    peiSongFei = 0;
}
totalMoney[i] = peiSongFei + totalMoney[i];

System.out.println("您订的是:\t"+canPinList[i]+"号菜品"+"\t"+"菜品名称是:"+"   "+mingCheng[canPinList[i]-1]+"\t"+"菜品金额是"+price[canPinList[i]-1]
        +"\t"+"菜品份数是:"+"\t"+fenShu[i]+"\t"+"总金额是:"+totalMoney[i]);

dingDanBianHao[i] = i+1;


i++;
System.out.println("输入0返回");
number = input.nextInt();
break;



图片效果:

在这里插入图片描述

2、查看餐袋功能实现



for(int j=0;j<name.length-1;j++){
        if(name[j]!=null) {
            System.out.println("餐品订单编号是:  "+dingDanBianHao[j]+"\t"+"订餐人姓名:  "+name[j]+"\t"+"订餐信息:   "+canPinList[i]+"\t"+"菜品名称是:  "+"\t"+mingCheng[i]+
                    "\t"+"份数是:  "+fenShu[j]+"\t"+"送餐时间: "+time[j]+"\t"+"送餐地址:"+address[j]+"\t"+"状态是:"+zhuangTai[j]+"\t"+"总金额是:  "+totalMoney[j]);
        }

    }do {

    System.out.println("您好当前餐袋为空:");
    break;

}while(name==null);

    System.out.println("输入0返回");
    number = input.nextInt();
    break;


图片效果:

在这里插入图片描述

3、签收订单功能实现




System.out.println("请输入订单编号");
int num2 =input.nextInt();
zhuangTai[num2-1] =1;
System.out.println("订单状态已完成");
System.out.println("输入0返回");
number = input.nextInt();
break;


4、删除订单功能实现



System.out.println("请输入订单编号");
int num = input.nextInt();
//订单编号是订单数组下标+1
if(zhuangTai[num-1]==1){
    System.out.println("可以删除订单");
    for(int m=num-1;name[m]!=null;m++){
        if(name[m+1]==null){
            dingDanBianHao[m] = 0;
            name[m] = null;
            mingCheng[canPinList[m]-1] = null;
            fenShu[m] = 0;
            time[m] = 0;
            address[m] = null;
            zhuangTai[m] = 0;
            totalMoney[m] = 0;
            break;
        }
        dingDanBianHao[m] = dingDanBianHao[m+1];
        name[m] = name[m+1];
        mingCheng[m] = mingCheng[m+1];
        fenShu[m] = fenShu[m+1];
        time[m] = time[m+1];
        address[m] = address[m+1];
        zhuangTai[m] = zhuangTai[m+1];
        totalMoney[m] = totalMoney[m+1];

    }
}else if(name[num-1]!=null){
    System.out.println("订单未签收,不能删除!");
}else{
    System.out.println("无该订单");
}
System.out.println("输入0返回");
number = input.nextInt();
break;


5、订单点赞功能实现



for(int list1:list){
    System.out.print("   ");
    System.out.print(list1+"\t\t"+"\t"+"\t");
}
System.out.println();
for(String mingCheng1:mingCheng){
    System.out.print(mingCheng1+"\t"+"\t"+"\t");
}
System.out.println();
for(double price1:price){
    System.out.print("  ");
    System.out.print(price1+"\t\t"+"\t"+"\t");
}
System.out.println();
for(int dianZan1 : dianZan){
    System.out.print("  ");
    System.out.print(dianZan1+"\t\t"+"\t"+"\t");
}
System.out.println();
System.out.println("请输入要点赞的菜品序号");
int num1 = input.nextInt();
dianZan[num1-1] += 1;
System.out.println("输入0返回");
number = input.nextInt();
break;



6、退出系统功能


System.out.println("谢谢使用,欢迎下次光临");
break;

四、完整代码



import java.util.Scanner;

/**
 * @Author juezhenhong
 * @Date 2021/1/13
 * @Description
 */
public class MeiEat {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int number = 0;
        double totalMoney[] = new double[4];
        String []name = new String[4];
        int canPinList [] = new int[4];
        int fenShu []= new int[4];
        int time[] = new int[4];
        String address[] = new String[4];
        int zhuangTai[] = new int[4];
        int i =0;
        int []dingDanBianHao = new int [4];
        int [] list = new int []{01,02,03,04};
        String [] mingCheng = new String []{"素红烧肉","开水白菜","佛跳墙","蜜汁熊掌"};
        double [] price = new double[]{18,12,68,88};
        int [] dianZan = new int []{50,100,20,12};
        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.println("请选择菜单序号(1-6):");
            number = input.nextInt();

            switch (number) {
                case 1:
                    System.out.println("********我要订餐********");
                    System.out.println("请输入订餐人姓名");
                    name[i] = input.next();
                    System.out.println("订餐人姓名是:"+name[i]);
                    System.out.print("菜品序号:"+"  \t");
                    for(int list1:list){
                        System.out.print(list1+"\t\t"+"\t"+"\t");
                    }
                    System.out.println();
                    System.out.print("菜品名称:"+"\t");
                    for(String mingCheng1:mingCheng){
                        System.out.print(mingCheng1+"\t"+"\t");
                    }
                    System.out.println();
                    System.out.print("菜品单价:"+"\t  ");
                    for(double price1:price){
                        System.out.print(price1+"\t"+"\t"+"\t");
                    }
                    System.out.println();
                    System.out.print("菜品点赞:"+" \t");
                    for(int dianZan1 : dianZan){
                        System.out.print(dianZan1+"\t\t"+"\t"+"\t");
                    }
                    System.out.println();
                    System.out.println("请输入要选择的餐品序号和份数");
                    System.out.println("请输入菜品序号:");
                    canPinList[i] =input.nextInt();
                    System.out.println("请输入份数:");
                    fenShu[i] = input.nextInt();
                    System.out.println("请输入送餐时间,必须是天10 到 20 点间整点送餐");
                    if(time[i]>10&&time[i]<20) {
                        time[i]=input.nextInt();
                        System.out.println("配送时间为:"+time[i]);
                    }else {

                        for(time[i] = input.nextInt();time[i]<10||time[i]>20;time[i] = input.nextInt()){

                            System.out.println("您好,此段时间不配送:");
                            System.out.println("输入错误,请重新输入");
                            System.out.println("请输入送餐时间,必须是天10 到 20 点间整点送餐");

                        }

                    }

                    System.out.println("请输入送餐地址");
                    address[i] = input.next();
                    System.out.println("请输入订单状态 0:已预定(默认状态) 1、已完成(订单已签收)");
                    zhuangTai[i] = input.nextInt();
                    if(zhuangTai[i] == 0){
                        System.out.println("已预订");
                    }else if(zhuangTai[i] ==1){
                        System.out.println("已完成");
                    }
                    System.out.println("总金额");
                    int peiSongFei = 6;
                    totalMoney[i] = price[canPinList[i]-1] *fenShu[i];
                    if(totalMoney[i]>56.0){
                        peiSongFei = 0;
                    }
                    totalMoney[i] = peiSongFei + totalMoney[i];

                    System.out.println("您订的是:\t"+canPinList[i]+"号菜品"+"\t"+"菜品名称是:"+"   "+mingCheng[canPinList[i]-1]+"\t"+"菜品金额是"+price[canPinList[i]-1]
                            +"\t"+"菜品份数是:"+"\t"+fenShu[i]+"\t"+"总金额是:"+totalMoney[i]);

                    dingDanBianHao[i] = i+1;


                    i++;
                    System.out.println("输入0返回");
                    number = input.nextInt();
                    break;
                case 2:

                    for(int j=0;j<name.length-1;j++){
                        if(name[j]!=null) {
                            System.out.println("餐品订单编号是:  "+dingDanBianHao[j]+"\t"+"订餐人姓名:  "+name[j]+"\t"+"订餐信息:   "+canPinList[i]+"\t"+"菜品名称是:  "+"\t"+mingCheng[i]+
                                    "\t"+"份数是:  "+fenShu[j]+"\t"+"送餐时间: "+time[j]+"\t"+"送餐地址:"+address[j]+"\t"+"状态是:"+zhuangTai[j]+"\t"+"总金额是:  "+totalMoney[j]);
                        }

                    }do {

                    System.out.println("您好当前餐袋为空:");
                    break;

                }while(name==null);

                    System.out.println("输入0返回");
                    number = input.nextInt();
                    break;
                case 3:

                    System.out.println("请输入订单编号");
                    int num2 =input.nextInt();
                    zhuangTai[num2-1] =1;
                    System.out.println("订单状态已完成");
                    System.out.println("输入0返回");
                    number = input.nextInt();
                    break;
                case 4:

                    System.out.println("请输入订单编号");
                    int num = input.nextInt();
                    //订单编号是订单数组下标+1
                    if(zhuangTai[num-1]==1){
                        System.out.println("可以删除订单");
                        for(int m=num-1;name[m]!=null;m++){
                            if(name[m+1]==null){
                                dingDanBianHao[m] = 0;
                                name[m] = null;
                                mingCheng[canPinList[m]-1] = null;
                                fenShu[m] = 0;
                                time[m] = 0;
                                address[m] = null;
                                zhuangTai[m] = 0;
                                totalMoney[m] = 0;
                                break;
                            }
                            dingDanBianHao[m] = dingDanBianHao[m+1];
                            name[m] = name[m+1];
                            mingCheng[m] = mingCheng[m+1];
                            fenShu[m] = fenShu[m+1];
                            time[m] = time[m+1];
                            address[m] = address[m+1];
                            zhuangTai[m] = zhuangTai[m+1];
                            totalMoney[m] = totalMoney[m+1];

                        }
                    }else if(name[num-1]!=null){
                        System.out.println("订单未签收,不能删除!");
                    }else{
                        System.out.println("无该订单");
                    }
                    System.out.println("输入0返回");
                    number = input.nextInt();
                    break;
                case 5:

                    for(int list1:list){
                        System.out.print("   ");
                        System.out.print(list1+"\t\t"+"\t"+"\t");
                    }
                    System.out.println();
                    for(String mingCheng1:mingCheng){
                        System.out.print(mingCheng1+"\t"+"\t"+"\t");
                    }
                    System.out.println();
                    for(double price1:price){
                        System.out.print("  ");
                        System.out.print(price1+"\t\t"+"\t"+"\t");
                    }
                    System.out.println();
                    for(int dianZan1 : dianZan){
                        System.out.print("  ");
                        System.out.print(dianZan1+"\t\t"+"\t"+"\t");
                    }
                    System.out.println();
                    System.out.println("请输入要点赞的菜品序号");
                    int num1 = input.nextInt();
                    dianZan[num1-1] += 1;
                    System.out.println("输入0返回");
                    number = input.nextInt();
                    break;
                case 6:
                    System.out.println("谢谢使用,欢迎下次光临");
                    break;

                default:
                    System.out.println("****您的输入有误,请重新输入****");
                    System.out.println();
                    break;
            }

        } while (number >6||number==0);
    }


}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值