吃货联盟(JAVA)

设计思路:

        1.使用while语句使选择功能重复使用。

        2.使用switch语句实现输入数字执行特定功能,在退出系统功能那改变bool值实现退出。

        3.将点餐的内容录入系统,使用的是在点餐时对餐袋那部分数组进行赋值。

        4.删除内容是将要删除后面的数组内容往前移,最后一组数组内容置空或置0。

        5.签收订单,找到订单并将states[i]为1

​
import java.util.Scanner;


public class CheHuoLianMeng {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //菜单
        String[] dishName = {"红烧带鱼", "鱼香肉丝", "时令蔬菜"};
        double[] dishPrices = {38.0, 26.0, 10.0};
        int[] dianZan ={0,0,0};

        //餐袋
        String[] names = new String[4];//订餐人姓名
        String[] dishMsg = new String[4];//餐品信息(菜品名称+订单分数)
        String[] times = new String[4];//配送时间
        String[] addresses = new String[4];//配送地址
        double[] sumPrices = new double[4];//总金额
        int[] states = new int[4];//0:已经预定, 1:已经完成



        System.out.println("欢迎使用“吃货联盟订餐系统");
        boolean bool = true;

        while(bool){
            System.out.println("***********************************");
            System.out.println("1.我要订餐\n"
                    + "2.查看餐袋\n"
                    + "3.签收订单\n"
                    + "4.删除订单\n"
                    + "5.我要点赞\n"
                    + "6.退出系统");
            System.out.println("***********************************");
            System.out.print("请选择:");
            int choose = scanner.nextInt();
            switch(choose){
                case 1:
                    System.out.println("************我要订餐************");
                    System.out.print("请输入订餐人姓名:");
                    String orderName = scanner.next();
                    System.out.println("序号\t菜名\t\t单价\t\t点赞数");
                    for (int i = 0; i < dishName.length; i++) {
                        System.out.println((i+1)+"\t"+dishName[i]+"\t"+dishPrices[i]+"\t"+dianZan[i]);
                    }
                    System.out.print("请选择你要点的菜品编号:");
                    int orderNum = scanner.nextInt();
                    while (orderNum < 1 || orderNum > dishName.length) {
                        System.out.println("本店没有这个菜品请重新输入:");
                        orderNum = scanner.nextInt();
                    }
                    System.out.print("请选择你需要的菜品份数:");
                    int fen = scanner.nextInt();
                    System.out.print("请输入送餐地址:");
                    String orderAddress = scanner.next();
                    System.out.print("请选择送餐时间(送餐时间是10至20点间整点送餐):");
                    int orderTime = scanner.nextInt();
                    while (orderTime < 10 || orderTime > 20) {
                        System.out.println("该时间段不在本店营业时间,请重新输入:(送餐时间是10至20点间整点送餐)");
                        orderTime = scanner.nextInt();
                    }
                    System.out.println("订餐成功!");
                    System.out.print("你订的是:");
                    System.out.print(dishName[orderNum-1]+fen+"份,");
                    System.out.print("送餐时间:");
                    System.out.print(orderAddress + "点,");
                    double orderSum = fen*dishPrices[orderNum-1];
                    double peiSong = orderSum>50?0:5;
                    System.out.println(",餐费:"+orderSum+"元,送餐费:"+peiSong+"元,总计:"+(orderSum+peiSong)+"元");
                    for (int i = 0; i < names.length; i++) {
                        if(names[i] == null){
                            names[i] = orderName;
                            dishMsg[i] = dishName[orderNum-1]+fen+"份";
                            times[i] = orderTime+"点";
                            addresses[i] = orderAddress;
                            sumPrices[i] = orderSum+peiSong;
                            break;
                        }
                    }
                    break;
                case 2:
                    System.out.println("************查看餐袋************");
                    System.out.println("序号\t\t订餐人\t订餐菜品\t\t配送时间\t\t配送地址\t\t订单金额\t\t订餐状态");
                    for (int i = 0; i < names.length; i++) {
                        if(names[i] != null){
                            System.out.println((i+1)+"\t\t"+names[i]+"\t\t"+dishMsg[i]+"\t\t"+times[i]+"\t\t"
                                    +addresses[i]+"\t\t"+sumPrices[i]+"元\t\t"+(states[i] == 0 ?"已预定":"已完成"));
                        }
                    }
                    break;
                case 3:
                    System.out.println("************签收订单************");
                    for (int i = 0; i < names.length; i++) {
                        if(names[i] != null){
                            System.out.println((i+1)+"\t\t"+names[i]+"\t\t"+dishMsg[i]+"\t\t"+times[i]+"\t\t"
                                    +addresses[i]+"\t\t"+sumPrices[i]+"元\t\t"+(states[i] == 0 ?"已预定":"已完成"));
                        }
                    }
                    System.out.print("请输入订单编号:");
                    int orderNumber = scanner.nextInt();
                    if(states[orderNumber-1] == 1){
                        System.out.println("订单已签收,不能再次签收!");
                    }
                    states[orderNumber-1] = 1;
                    System.out.println("订单签收成功!");
                    break;
                case 4:
                    System.out.println("************删除订单************");
                    for (int i = 0; i < names.length; i++) {
                        if(names[i] != null){
                            System.out.println((i+1)+"\t\t"+names[i]+"\t\t"+dishMsg[i]+"\t\t"+times[i]+"\t\t"
                                    +addresses[i]+"\t\t"+sumPrices[i]+"元\t\t"+(states[i] == 0 ?"已预定":"已完成"));
                        }
                    }
                    System.out.println("请输入订单编号:");
                    int deleteNumber = scanner.nextInt();
                    for (int i = deleteNumber-1; i < names.length-1; i++) {
                        names[i] = names[i+1];
                        dishMsg[i] = dishMsg[i+1];
                        times[i] = times[i+1];
                        addresses[i] = addresses[i+1];
                        sumPrices[i] = sumPrices[i+1];
                        states[i] = states[i+1];
                    }
                    names[names.length-1] = null;
                    dishMsg[names.length-1] = null;
                    times[names.length-1] = null;
                    addresses[names.length-1] = null;
                    sumPrices[names.length-1] = 0;
                    states[names.length-1] = 0;
                    System.out.println("你选择的订单删除成功!");
                    break;
                case 5:
                    System.out.println("************我要点赞************");
                    System.out.println("序号\t菜名\t\t单价\t\t点赞数");
                    for (int i = 0; i < dishName.length; i++) {
                        System.out.println((i+1)+"\t"+dishName[i]+"\t"+dishPrices[i]+"\t"+dianZan[i]);
                    }
                    System.out.println("请输入你要点赞的菜品序号:");
                    int dianzanNumber = scanner.nextInt();
                    while(dianzanNumber<1 || dianzanNumber> names.length){
                        System.out.println("菜品不存在!请重新输入点赞的菜品序号:");
                        dianzanNumber = scanner.nextInt();
                    }
                    dianZan[dianzanNumber-1]++;//点赞
                    break;
                case 6:
                    System.out.println("************退出系统************");
                    bool = false;
            }
        }


    }
}

​

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值