java基础简单的订餐系统

import java.util.Arrays;
import java.util.Scanner;

public class DingCan {
    public static void main(String[] args) {
        //菜品组
        String[] cd = {"蔬菜沙拉", "炭烧鸡排", "黑椒牛排"};
        //单价组
        int[] dj = {16, 23, 26};
        //点赞组
        int[] dz = {0, 0, 0};
        //用来储存各类菜品总额
        int slze = 0;
        int jpze = 0;
        int npze = 0;
        //记不清了,反正是变量
        int na = 1;
        int bus = 0;
        //各类需求数组
        String[] name2 = new String[10];
        name2[0] = "沙宣";
        name2[1] = "沙宣";
        String[] cpxx2 = new String[10];
        cpxx2[0] = "蔬菜沙拉2份";
        cpxx2[1] = "黑椒牛排2份";
        String[] scdi2 = new String[10];
        scdi2[0] = "天成路207号";
        scdi2[1] = "天成路207号";
        String[] ddzt2 = new String[10];
        Arrays.fill(ddzt2, "已预订");
        ddzt2[0] = "已完成";
        String[] scsj2 = new String[10];
        scsj2[0] = "10月3日13时";
        scsj2[1] = "10月17日19时";
        int[] zje2 = new int[10];
        zje2[0] = 38;
        zje2[1] = 52;
        //外层循环(可使用指定指令退出)
        boolean i = true;
        while (i) {
            //主体结构
            System.out.println("欢迎使用吃货联盟订餐系统" + "\n" + "****************");
            Scanner sc = new Scanner(System.in);
            System.out.println(
                    "1、我要订餐" + "\n"
                            + "2、查看餐袋" + "\n"
                            + "3、签收订单" + "\n"
                            + "4、删除订单" + "\n"
                            + "5、我要点赞" + "\n"
                            + "6、退出系统" + "\n"
                            + "****************" + "\n"
                            + "请选择:");
            //各主体分支
            //分支:1,我要订餐
            int lb = sc.nextInt();
            if (lb == 1) {
                int xh = 0;
                System.out.println("****************我要订餐****************");
                System.out.println("序号" + "      " + "名称" + "      " + "单价(元)" + "      " + "点赞数");
                //循环输出数组:菜品序号、名称、单价、点赞数
                for (int a = 0; a < cd.length; a++) {
                    xh = xh + 1;
                    System.out.println(xh + "       " + cd[a] + "      " + dj[a] + "            " + dz[a]);
                }
                System.out.println("****************");
                //菜品选择(判断)以及份数、总金额语句
                //此循环:存储各类数据到数组
                boolean cpx = true;
                while (cpx) {
                    System.out.println("请输入订餐人姓名:");
                    String name1 = sc.next();
                    na = na + 1;
                    name2[na] = name1;
                    System.out.println("请输入菜品序号:");
                    int xh1 = sc.nextInt();
                    switch (xh1) {
                        case 1:
                            System.out.println("请输入份数:");
                            int slfs = sc.nextInt();
                            //总金额
                            slze = slfs * dj[0];
                            //不足50元时增加6元配送费
                            if (slze < 50) {
                                slze = slze + 6;
                            }
                            //储存菜品信息到数组
                            cpxx2[na] = cd[0] + slfs + "份";
                            //储存总金额
                            zje2[na] = slze;
                            //终止次循环
                            cpx = false;
                            break;
                        case 2:
                            System.out.println("请输入份数:");
                            int jpfs = sc.nextInt();
                            jpze = jpfs * dj[1];
                            if (jpze < 50) {
                                jpze = jpze + 6;
                            }
                            cpxx2[na] = cd[1] + jpfs + "份";
                            zje2[na] = jpze;
                            cpx = false;
                            break;
                        case 3:
                            System.out.println("请输入份数:");
                            int npfs = sc.nextInt();
                            npze = npfs * dj[2];
                            if (npze < 50) {
                                npze = npze + 6;
                            }
                            cpxx2[na] = cd[2] + npfs + "份";
                            zje2[na] = npze;
                            cpx = false;
                            break;
                        default:
                            System.out.println("菜品序号输入有误!");
                    }
                }
                //送餐时间(判断)及送餐地址语句
                boolean scsj = true;
                while (scsj) {
                    System.out.println("请输入送餐时间(整点送餐:10点-20点):");
                    int sj = sc.nextInt();
                    scsj2[na] = "11月2日" + sj + "时";
                    if (sj <= 20 && sj >= 10) {
                        System.out.println("请填写详细的送餐地址:");
                        String scdz = sc.next();
                        scdi2[na] = scdz;
                        System.out.println("****************下单成功****************");
                        System.out.println("序号" + "      " + "订餐人" + "      " + "餐品信息" + "      " + "送餐日期"
                                + "      " + "送餐地址" + "      " + "总金额(不足50元时需缴纳6元配送费)" + "      " + "订单状态");
                        System.out.println(1 + "        " + name2[na] + "       " + cpxx2[na] + "    "
                                + scsj2[na] + "       " + scdi2[na] + "                " + zje2[na] + "          " + ddzt2[na]);
                        System.out.println("****************输入任意数字返回主菜单****************");
                        int fh = sc.nextInt();
                        break;
                    } else if (sj == 0) {
                        break;
                    } else {
                        System.out.println("*************不在配送时间内***************"
                                + "\n" + "****************重新输入或输入0返回主菜单****************");
                    }
                }
            }
            //查看餐袋
            else if (lb == 2) {
                int fg = 0;
                System.out.println("****************查看餐袋****************");
                System.out.println("序号" + "      " + "订餐人" + "      " + "餐品信息" + "      " + "送餐日期"
                        + "      " + "送餐地址" + "      " + "总金额(不足50元时需缴纳6元配送费)" + "      " + "订单状态");
                for (int u = 0; u <= zje2.length - (zje2.length - na); u++) {
                    fg = fg + 1;
                    System.out.println(fg + "        " + name2[u] + "       " + cpxx2[u] + "    "
                            + scsj2[u] + "       " + scdi2[u] + "                " + zje2[u] + "          " + ddzt2[u]);
                }
                System.out.println("****************输入任意数字返回主菜单****************");
                int ry = sc.nextInt();
            }
            //签收语句
            else if (lb == 3) {
                boolean iu = true;
                while (iu) {
                    System.out.println("****************签收订单****************");
                    System.out.println("序号" + "      " + "订餐人" + "      " + "餐品信息" + "      " + "送餐日期"
                            + "      " + "送餐地址" + "      " + "总金额(不足50元时需缴纳6元配送费)" + "      " + "订单状态");
                    for (int u = 0; u <= zje2.length - (zje2.length - na); u++) {
                        System.out.println(u + 1 + "        " + name2[u] + "       " + cpxx2[u] + "    "
                                + scsj2[u] + "       " + scdi2[u] + "                " + zje2[u] + "          " + ddzt2[u]);
                    }
                    System.out.println("请输入需要签收的订单序号:");
                    int qsdd = sc.nextInt();
                    //得到下标
                    int qsdd2 = qsdd - 1;
                    //判断是否为已完成订单,是则可以签收,否则重新输入
                    if (ddzt2[qsdd2].equals("已预订") && qsdd2 <= na) {
                        ddzt2[qsdd2] = "已完成";
                        System.out.println("****************签收成功****************");
                        System.out.println("****************输入任意数字返回主菜单****************");
                        int qsdd3 = sc.nextInt();
                        iu = false;
                    } else {
                        System.out.println("****************输入错误,请重新输入****************");
                    }
                }
            }
            //删除订单
            else if (lb == 4) {
                boolean ip = true;
                while (ip) {
                    System.out.println("****************删除订单****************");
                    System.out.println("序号" + "      " + "订餐人" + "      " + "餐品信息" + "      " + "送餐日期"
                            + "      " + "送餐地址" + "      " + "总金额(不足50元时需缴纳6元配送费)" + "      " + "订单状态");
                    for (int a = 0; a <= zje2.length - (zje2.length - na); a++) {
                        System.out.println(a + 1 + "        " + name2[a] + "       " + cpxx2[a] + "    "
                                + scsj2[a] + "       " + scdi2[a] + "                " + zje2[a] + "          " + ddzt2[a]);
                    }
                    System.out.println("****************请输入需要删除的订单序号(仅支持已完成订单)****************");
                    int scxh = sc.nextInt();
                    //得到下标
                    int scsh = scxh - 1;
                    //移形换位(逐步向前覆盖,达到删除效果)
                    if (ddzt2[scsh].equals("已完成")) {
                        for (int v = scsh; v < zje2.length - 1 - scsh; scsh++) {
                            name2[scsh] = name2[scsh + 1];
                            cpxx2[scsh] = cpxx2[scsh + 1];
                            scsj2[scsh] = scsj2[scsh + 1];
                            scdi2[scsh] = scdi2[scsh + 1];
                            zje2[scsh] = zje2[scsh + 1];
                            ddzt2[scsh] = ddzt2[scsh + 1];
                        }
                        System.out.println("*****************删除订单成功****************");
                        //此变量最为重要,遍历大部分输出语句,用来删除订单(各各数组不需要的元素)
                        na = na - 1;
                        System.out.println("输入0返回主菜单");
                        int scdg = sc.nextInt();
                        ip = false;
                    } else {
                        System.out.println("*****************输入错误,请重新输入****************");
                    }


                }
            }
            //我要点赞
            else if (lb == 5) {
                boolean wydj = true;
                while (wydj) {
                    int xh = 0;
                    System.out.println("****************我要点赞****************");
                    System.out.println("序号" + "      " + "名称" + "      " + "单价(元)" + "      " + "点赞数");
                    for (int a = 0; a < cd.length; a++) {
                        xh = xh + 1;
                        System.out.println(xh + "       " + cd[a] + "      " + dj[a] + "            " + dz[a]);
                    }
                    System.out.println("****************");
                    System.out.println("请输入需要点赞订单的序号");
                    int djxh = sc.nextInt();
                    //判断输入序号是否正确
                    if (djxh <= dz.length) {
                        //得到下标
                        int dddj = djxh - 1;
                        //增加点赞数组点赞数
                        dz[dddj] = dz[dddj] + 1;
                        System.out.println("*****************点赞成功****************");
                        System.out.println("输入0返回主菜单");
                        int scdg = sc.nextInt();
                        wydj = false;
                    } else {
                        System.out.println("*****************输入错误,请重新输入****************");
                    }
                }
            }
            //退出系统
            else if (lb == 6) {
                i = false;
                System.out.println("****************谢谢使用,欢迎下次光临****************");
                //输入错误
            } else {
                System.out.println("****************输入错误,返回主菜单****************");
            }

        }


    }
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值