• 《Java》小项目,吃货联盟


    前言

    先声明:菜单与初始的订单值无关!

    后声明:客户订 菜的订单值!与菜单无关!

    菜单数组

    编号  菜名字   价格   点赞数

    初始值 4个数组

    客户订菜

    编号  人名  菜名   价格  地址  份数  总价  优惠   配送费用   订单状态

    初始值 10个数组

    然后进行功能判断

    1、输出菜单

    判断用户输入值

    2、判断用户

    1、是否恶意输入

    如 错  则  循环提示 重新开始

    如  对   则  介入 系统

    3 介入系统后还恶意输入 或输入错误 的 则直接 跳出

    4 对应编号输出 对应 的 功能

    4、1、每个功能进行各自判断

    订餐功能

    输出 提示 并 接受 用户  名

    输出  提示  并 接受  用户  订的餐品

    输出  提示 并 接受  用户的  份数

    判断  : 份数乘以从菜单获取的价值等于总价外加配送费公式得出的配送费用减去超过50元的价值优惠

    获取 到  份数、总价(特殊值:配送费、优惠价值)

    输出 提示  并接受  用户 的  地址

    输出 提示 并接受 用户的   时间

    得到的值  进行复制

    使用for循环进行  输出提示 并在最后 即使 i的值也是表格的最后一项没有订单人名字的值

    即是没有订单的数组

    并将得到的数据复制进表格里即可

    初始值:

    //值定位 的定位值的范围 后期可以设置 全值调用
    int arrays = 50;
    // arrays 总调用方法  所以定 范围 在 5 以内
    // 序号
    int[] array = new int[arrays];
    array[0] = 1;
    array[1] = 2;
    array[2] = 3;
    // 菜单
    int dishes = arrays;
    // dishes 以后要的话       可以单独 调用
    String[] Menu = new String[dishes];
    // 价格
    int price = arrays;
    double[] Price = new double[price];
    // 份数  订单数
    int copy = arrays;
    int[] Copy = new int[copy];
    Copy[0] = 1;
    Copy[1] = 1;
    Copy[2] = 1;
    // 地址
    int addressData = arrays;
    String[] address = new String[addressData];
    // 点赞
    int praise = arrays;
    int[] give = new int[praise];
    // 姓名
    int nameData = arrays;
    String[] name = new String[nameData];
    // 订单状态
    int[] states = new int[arrays];
    states[0] = 1;
    states[1] = 0;
    states[2] = 0;
    // 配送费用
    //判断用户是否输入0返回
    boolean user = false;
    //------初始判断值
    int data = -1;
    // 时-------时间
    int[] times = new int[arrays];
    times[0] = 11;
    times[1] = 14;
    times[2] = 15;
    double money = (6 * 2 / 3 % 3);
    //------------
    // 其他
    int i = 0;// 循环计数器
    // 客户点菜 菜单 不与订餐掺和
    int[] CtMenuData = new int[arrays];
    CtMenuData[0] = 1;
    CtMenuData[1] = 2;
    CtMenuData[2] = 3;
    CtMenuData[3] = 4;
    String[] CtMenu = new String[arrays];
    CtMenu[0] = "鱼香肉丝";
    CtMenu[1] = "麻婆豆腐";
    CtMenu[2] = "蜜汁烤鸡";
    CtMenu[3] = "香鲜牛排";
    double[] CtPrice = new double[arrays];// 你看到的可点的菜永远是这四个,后续^_^还会有管理员系统,先判断你是管理员么?
    CtPrice[0] = 35.0;
    CtPrice[1] = 39.9;
    CtPrice[2] = 69.9;
    CtPrice[3] = 99.9;
    int[] Give = new int[arrays];
    Give[0] = 1;
    Give[1] = 1;
    Give[2] = 0;
    Give[3] = 0;
    //-------------------------初始化信息*//

    基本信息初始化

    //-------------------------初始化信息*//
    Menu[0] = "鱼香肉丝";
    Menu[1] = "麻婆豆腐";
    Menu[2] = "蜜汁烤鸡";
    Price[0] = 35.0;
    Price[1] = 39.9;
    Price[2] = 69.9;
    
    name[0] = "张三";
    name[1] = "李四";
    name[2] = "王二";
    address[0] = "王二麻子家";
    address[1] = "刺客伍六七的家";
    address[2] = "工投创智天地";
    // 点赞
    give[0] = 0;
    give[1] = 1;
    give[2] = 0;
    // num=0时重复显示主页菜单
    System.out.println("欢迎使用吃货联盟订餐系统!");
    Scanner input = new Scanner(System.in);

    最后判断输入的值

    在系统内部

    do {
                System.out.println("\033[1;32;43m---------------------------\033[0m");
                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("\033[1;32;43m---------------------------\033[0m");
                System.out.print("您选择的编号:");
    
    
                int shu = input.nextInt();
                //=========================
                if (shu < 0) {
                    System.out.println("\033[1;31;43m输入非法值!程序为了安全以退出!!!\033[0m");
                    break;
                }
                // 判断输入的是否大于餐单的单号,不大则不介循环
                while (shu > 6) {
                    System.out.println("\033[1;32;43m---------------------------\033[0m");
                    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("\033[1;32;43m---------------------------\033[0m");
                    System.out.println("\033[1;31;43m输入的\033[0m" + "\033[1;31;43m" + shu + "号" + "\033[1;31;43m菜单号;超出了菜单单号!!!\033[0m");//输入的" + shu + "菜单号超出了菜单单号!!!
                    System.out.println("请您从新选择:");
                    shu = input.nextInt();
                }
                //=========================
                switch (shu) {
                    //=========================
                    case 1:
                        System.out.println("--------我要订餐--------");
                        //开始订餐
                        boolean isAdd = false;
                        // 设置判断餐带是否满了的前提boolean值
                        for (; i < name.length; i++) {
                            if (name[i] == null) {
                                // 如果没有满 则进入点餐
                                isAdd = true;
                                //----------------------
                                System.out.println("请输入订餐人姓名:");
                                name[i] = input.next();
    //                            System.out.println(name[i]);
                                // 获取点餐人的姓名
                                //----------------------
                                System.out.println("序号\t 菜单\t价格");
                                for (int j = 0; j < give.length; j++) {
                                    if (CtMenu[j] != null) {  // 只输出 菜单不是 空值的菜单
                                        String gives = (give[j] == 0) ? "" : give[j] + "赞";
                                        System.out.println(" " + CtMenuData[j] + "\t" + CtMenu[j] + "\t" + CtPrice[j] + " " + gives);
                                    }
                                }
                                //----------------------
                                // 获取 餐带 里 的 菜单名字
                                System.out.println("请输入餐单的单号:");
                                int isMarrda = input.nextInt();
                                // 不能小于1 小于则一只判断
                                while (isMarrda < 1) {   // 这里 防止用户 恶意输入
                                    System.out.println("输入错误!你想啥呢?吃空气?");
                                    System.out.println("请输入餐单的单号:");
                                    isMarrda = input.nextInt();
                                }
                                if (CtMenu[isMarrda - 1] == null) {
                                    System.out.println("非常抱歉,没有你要点的菜!!!");
                                    break;
                                }
    //                            System.out.println(CtMenu[isMarrda - 1]);
                                // 这里获取到了 他的点的 菜
                                //----------------------
                                // 获取 份数
                                System.out.println("您需要购买几份?(最低1份):");
                                int isParrda = input.nextInt();
                                // 不能小于1 小于则一只判断
                                while (isParrda < 1) {   // 这里 防止用户 恶意输入
                                    System.out.println("输入错误!你想啥呢?吃空气?");
                                    System.out.println("您需要购买几份?(最低1份):");
                                    isParrda = input.nextInt();
                                }
                                // 这里 将 得到的 值 进行判断
    //                            System.out.println(isParrda + "份");
                                // 获取的份数
                                if ((isParrda * CtPrice[isMarrda - 1]) > 50) {
                                    System.out.println("总价值超过50元以优惠?");
                                    // 后续开发^_^
                                }
    //                            System.out.println("份数:" + isParrda);
    //                            System.out.println("价格:" + (isParrda * CtPrice[isMarrda - 1]));
                                // 获取的 总价值
                                //----------------------
                                System.out.println("请输入地址:");
                                String isAddress = input.next();
                                // 这里 将 得到的 值 进行判断
    //                            System.out.println(isAddress);
                                //----------------------
                                System.out.println("请输入时间:");
                                int isTimes = input.nextInt();
                                // 这里 将 得到的 值 进行判断
                                while (isTimes < 9 || isTimes > 20) {// 判断 时间 不能超过9点-20点 在内的时间 数值 则不介入
                                    System.out.println("你输入的时间超过了可配送时间的范围");
                                    System.out.println("请输入时间:");
                                    isTimes = input.nextInt();
                                }
    //                            System.out.println("时间:" + isTimes);// 输出测试
                                // 获取的需要录入的 值;
                                // 人名字:name[i]、菜名:CtMenu[isMarrda - 1]、
                                // 份数:isParrda、价格:(isParrda*CtPrice[isMarrda-1])、
                                // 地址:isAddress、时间:isTimes、
                                //**********
                                // 其他(优惠:(isParrda*Price[isMarrda-1])*0.8)打八折、
                                //==============================
                                // 执行录入数据库的功能就是录入数组
                                // 并提示用户
                                System.out.println("订餐成功!!!");
                                String isname = name[i] + " 先生您好!";
                                String isMeMa = "您订购的 " + CtMenu[isMarrda - 1] + " 菜,";
                                String isPaPr = "总价:" + (double) Math.round((isParrda * CtPrice[isMarrda - 1] + money) * 100) / 100 + "元,";
                                String isParrdaText = "共:" + isParrda + "份,";
                                String isTimesText = "配送时间:" + isTimes + "点";
                                String isMoney = "您的配送费是" + money + "元,";
                                System.out.println(isname + isMeMa + isParrdaText + isPaPr + isMoney + isTimesText);
                                // ------- 录入 初始化 防止数据不对称性 ----------
                                array[i] = array[i - 1] + 1;
                                name[i] = name[i];
                                Menu[i] = CtMenu[isMarrda - 1];
                                Price[i] = (double) Math.round((isParrda * CtPrice[isMarrda - 1] + money) * 100) / 100;
                                Copy[i] = isParrda;
                                times[i] = isTimes;
                                address[i] = isAddress;
                                // 录入 完成后跳出程序
                                break;
                            }
                        }
                        // 判断订单是否满了,如果满了则
                        if (!isAdd) {
                            System.out.println("非常抱歉,您的餐带以满!请等待一会吧!");
                        }
                        break;
                    //=========================
                    case 2:
                        System.out.println("--------查看餐带--------" + "\t");
                        System.out.println("序号\t" + "\t" + "订餐人姓名" + "\t订餐菜名\t" + " " + "\t" + "份数\t" + "\t" + "菜单价格\t" + "\t" + "送货地址\t" + "\t 配送时间\t" + "\t订单状态\t");
                        for (int j = 0; j < Menu.length; j++) {
                            if (name[j] != null) {  //只输出“有人名字的”不是空值的订单
                                String time = times[j] + "点";
                                String state = (states[j] == 0) ? "以预定" : "已完成";
                                String cop = Copy[j] + "份";
                                System.out.println(" " + array[j] + "\t" + "\t" + name[j] + "\t" + "\t\t" + Menu[j] + "\t\t" + cop + "\t" + "\t" + Price[j] + "\t\t" + address[j] + "\t\t" + time + "\t\t" + state + "\t");
                            }
                        }
                        break;
                    //=========================
                    case 3:
                        System.out.println("--------签收订单--------");
                        boolean isSign = false;
                        //-----------------
                        for (int j = 0; j < Menu.length; j++) {
                            if (name[j] != null) {  //只输出“有人名字的”不是空值的订单
                                String time = times[j] + "点";
                                String state = (states[j] == 0) ? "以预定" : "已完成";
                                String cop = Copy[j] + "份";
                                System.out.println(" " + array[j] + "\t" + "\t" + name[j] + "\t" + "\t\t" + Menu[j] + "\t\t" + cop + "\t" + "\t" + Price[j] + "\t\t" + address[j] + "\t\t" + time + "\t\t" + state + "\t");
                            }
                        }
                        //-----------------
                        System.out.println("请输入您要签收的订单编号:");
                        int sign = input.nextInt();
                        for (; i < name.length; i++) {
                            if (name[i] != null && states[sign - 1] == 0 && array[sign - 1] == sign) {
                                // 找到的订单是存在的且是0状态“以预定”而且用户的订单编号我能够对比上
                                // 然后就可以签收了
                                isSign = true;
                                states[sign - 1] = 1;
                                System.out.println("订单签收成功!");
                                break;
                            } else if (name[i] != null && states[sign - 1] == 1 && array[sign - 1] == sign) {
                                isSign = true;
                                // 易然是判断出有订单之后处理  没有的话直接if (!isSign)
                                System.out.println("您选择的订单已经签收成功了!无需在次签收!");
                                break;
                            }
                        }
                        if (!isSign) {
                            System.out.println("您要签收的订单不存在!!!");
                        }
                        break;
                    //=========================
                    case 4:
                        System.out.println("--------删除订单--------");
                        boolean isDelete = false;
                        for (int j = 0; j < Menu.length; j++) {
                            if (name[j] != null) {  //只输出“有人名字的”不是空值的订单
                                String time = times[j] + "点";
                                String state = (states[j] == 0) ? "以预定" : "已完成";
                                String cop = Copy[j] + "份";
                                System.out.println(" " + array[j] + "\t" + "\t" + name[j] + "\t" + "\t\t" + Menu[j] + "\t\t" + cop + "\t" + "\t" + Price[j] + "\t\t" + address[j] + "\t\t" + time + "\t\t" + state + "\t");
                            }
                        }
                        //-----------------
                        System.out.println("请输入您要删除的订单编号:");
                        int delete = input.nextInt();
                        for (; i < name.length; i++) {
    
                        }
                        break;
                    //=========================
                    case 5:
                        System.out.println("--------我要点赞--------");
                        System.out.println("您是点赞菜单还是订单?");
                        System.out.println("1.菜单");
                        System.out.println("2.订单");
                        System.out.println("您选择的编号:");
                        int isGiver = input.nextInt();
                        //判断范围
                        while (isGiver > 2 || isGiver < 1) {
                            System.out.println("您是点赞菜单还是订单?");
                            System.out.println("1.菜单");
                            System.out.println("2.订单");
                            System.out.println("您输入错误!请重新输入:");
                            isGiver = input.nextInt();
                            continue;
                        }
                        if (isGiver == 1) {
                                //----------------------
                                System.out.println("序号\t 菜单\t价格");
                                for (int j = 0; j < give.length; j++) {
                                    if (CtMenu[j] != null) {  // 只输出 菜单不是 空值的菜单
                                        String gives = (give[j] == 0) ? "" : give[j] + "赞";
                                        System.out.println(" " + CtMenuData[j] + "\t" + CtMenu[j] + "\t" + CtPrice[j] + " " + gives);
                                    }
                                }
                                //----------------------
                                System.out.println("请输入您要点赞的菜单编号:");
                                int PraiseData1 = input.nextInt();
                                for (; i < name.length; i++) {
    
                                }
                                //----------------------
                            } else if (isGiver == 2) {
                                //-----------------
                                for (int j = 0; j < Menu.length; j++) {
                                    if (name[j] != null) {  //只输出“有人名字的”不是空值的订单
                                        String time = times[j] + "点";
                                        String state = (states[j] == 0) ? "以预定" : "已完成";
                                        String cop = Copy[j] + "份";
                                        System.out.println(" " + array[j] + "\t" + "\t" + name[j] + "\t" + "\t\t" + Menu[j] + "\t\t" + cop + "\t" + "\t" + Price[j] + "\t\t" + address[j] + "\t\t" + time + "\t\t" + state + "\t");
                                    }
                                }
                                //----------------------
                                System.out.println("请输入您要点赞的菜单编号:");
                                int PraiseData2 = input.nextInt();
                                for (; i < name.length; i++) {
    
                                }
                            //----------------------
                            }
                        break;
                    //=========================
                    case 6:
                        //退出系统
                        user = true;
                        break;
                    //=========================
                    default:
                        //退出系统
                        user = true;
                        break;
                }
                    //=========================
                    if (!user) {// !user等同于user==false
                        System.out.print("输入“0”后返回菜单");
                        data = input.nextInt();
                    } else {
                        break;
                    }
                    //=========================
            }while (data == 0) ;
            System.out.println("感谢使用!!!欢迎下次光临!");
        }
    }
    

    二、代码是咧

    1. * -------------------------------------------------------------------------------
    2. * [ZH-CN]:
    3. * (归属):
    4. * SHaoYuDeng ( 道墨斯 ) 完全所有权和所有权利保留。
    5. * (文件-作用):
    6. * 一、这个源文件[The_Order_Kitchen.java]属于底层文件。
    7. * 二、只能限定此项目[Java chapter 1]的范围。
    8. * (许可):
    9. * 系统名称:ka
    10. * 一、这个来源文件不是商业性的,但也不是不可以商业性的,
    11. * 如商业需要通过原作者授权。
    12. * 二、如果没有授权,
    13. * 立即停止使用并查看相关文件。
    14. * 使用者只有设置权无改编权,商业权!!!
    15. * (联系):
    16. * [邮件]: **********@qq.com
    17. * [电话]: + 86 ***********
    18. * 版权信息 (c) 2022.9
    19. * SHaoYuDeng ( 道墨斯 ) 完全所有权和所有权利保留。
    20. * @版本: 0.0.0.1 - 测试版
    21. * -------------------------------------------------------------------------------
    22. */
    23. import java.util.Scanner;
    24. public class The_Order_Kitchen {
    25. public static void main(String[] args) {
    26. //值定位 的定位值的范围 后期可以设置 全值调用
    27. int arrays = 50;
    28. // arrays 总调用方法 所以定 范围 在 5 以内
    29. // 序号
    30. int[] array = new int[arrays];
    31. array[0] = 1;
    32. array[1] = 2;
    33. array[2] = 3;
    34. // 菜单
    35. int dishes = arrays;
    36. // dishes 以后要的话 可以单独 调用
    37. String[] Menu = new String[dishes];
    38. // 价格
    39. int price = arrays;
    40. double[] Price = new double[price];
    41. // 份数 订单数
    42. int copy = arrays;
    43. int[] Copy = new int[copy];
    44. Copy[0] = 1;
    45. Copy[1] = 1;
    46. Copy[2] = 1;
    47. // 地址
    48. int addressData = arrays;
    49. String[] address = new String[addressData];
    50. // 点赞
    51. int praise = arrays;
    52. int[] give = new int[praise];
    53. // 姓名
    54. int nameData = arrays;
    55. String[] name = new String[nameData];
    56. // 订单状态
    57. int[] states = new int[arrays];
    58. states[0] = 1;
    59. states[1] = 0;
    60. states[2] = 0;
    61. // 配送费用
    62. //判断用户是否输入0返回
    63. boolean user = false;
    64. //------初始判断值
    65. int data = -1;
    66. // 时-------时间
    67. int[] times = new int[arrays];
    68. times[0] = 11;
    69. times[1] = 14;
    70. times[2] = 15;
    71. double money = (6 * 2 / 3 % 3);
    72. //------------
    73. // 其他
    74. int i = 0;// 循环计数器
    75. // 客户点菜 菜单 不与订餐掺和
    76. int[] CtMenuData = new int[arrays];
    77. CtMenuData[0] = 1;
    78. CtMenuData[1] = 2;
    79. CtMenuData[2] = 3;
    80. CtMenuData[3] = 4;
    81. String[] CtMenu = new String[arrays];
    82. CtMenu[0] = "鱼香肉丝";
    83. CtMenu[1] = "麻婆豆腐";
    84. CtMenu[2] = "蜜汁烤鸡";
    85. CtMenu[3] = "香鲜牛排";
    86. double[] CtPrice = new double[arrays];// 你看到的可点的菜永远是这四个,后续^_^还会有管理员系统,先判断你是管理员么?
    87. CtPrice[0] = 35.0;
    88. CtPrice[1] = 39.9;
    89. CtPrice[2] = 69.9;
    90. CtPrice[3] = 99.9;
    91. int[] Give = new int[arrays];
    92. Give[0] = 1;
    93. Give[1] = 1;
    94. Give[2] = 0;
    95. Give[3] = 0;
    96. //-------------------------初始化信息*//
    97. Menu[0] = "鱼香肉丝";
    98. Menu[1] = "麻婆豆腐";
    99. Menu[2] = "蜜汁烤鸡";
    100. Price[0] = 35.0;
    101. Price[1] = 39.9;
    102. Price[2] = 69.9;
    103. name[0] = "张三";
    104. name[1] = "李四";
    105. name[2] = "王二";
    106. address[0] = "王二麻子家";
    107. address[1] = "刺客伍六七的家";
    108. address[2] = "工投创智天地";
    109. // 点赞
    110. give[0] = 0;
    111. give[1] = 1;
    112. give[2] = 0;
    113. // num=0时重复显示主页菜单
    114. System.out.println("欢迎使用吃货联盟订餐系统!");
    115. Scanner input = new Scanner(System.in);
    116. do {
    117. System.out.println("\033[1;32;43m---------------------------\033[0m");
    118. System.out.println("1、我要订餐");
    119. System.out.println("2、查看餐带");
    120. System.out.println("3、签收订单");
    121. System.out.println("4、删除订单");
    122. System.out.println("5、我要点赞");
    123. System.out.println("6、退出系统");
    124. System.out.println("\033[1;32;43m---------------------------\033[0m");
    125. System.out.print("您选择的编号:");
    126. int shu = input.nextInt();
    127. //=========================
    128. if (shu < 0) {
    129. System.out.println("\033[1;31;43m输入非法值!程序为了安全以退出!!!\033[0m");
    130. break;
    131. }
    132. // 判断输入的是否大于餐单的单号,不大则不介循环
    133. while (shu > 6) {
    134. System.out.println("\033[1;32;43m---------------------------\033[0m");
    135. System.out.println("1、我要订餐");
    136. System.out.println("2、查看餐带");
    137. System.out.println("3、签收订单");
    138. System.out.println("4、删除订单");
    139. System.out.println("5、我要点赞");
    140. System.out.println("6、退出系统");
    141. System.out.println("\033[1;32;43m---------------------------\033[0m");
    142. System.out.println("\033[1;31;43m输入的\033[0m" + "\033[1;31;43m" + shu + "号" + "\033[1;31;43m菜单号;超出了菜单单号!!!\033[0m");//输入的" + shu + "菜单号超出了菜单单号!!!
    143. System.out.println("请您从新选择:");
    144. shu = input.nextInt();
    145. }
    146. //=========================
    147. switch (shu) {
    148. //=========================
    149. case 1:
    150. System.out.println("--------我要订餐--------");
    151. //开始订餐
    152. boolean isAdd = false;
    153. // 设置判断餐带是否满了的前提boolean值
    154. for (; i < name.length; i++) {
    155. if (name[i] == null) {
    156. // 如果没有满 则进入点餐
    157. isAdd = true;
    158. //----------------------
    159. System.out.println("请输入订餐人姓名:");
    160. name[i] = input.next();
    161. // System.out.println(name[i]);
    162. // 获取点餐人的姓名
    163. //----------------------
    164. System.out.println("序号\t 菜单\t价格");
    165. for (int j = 0; j < give.length; j++) {
    166. if (CtMenu[j] != null) { // 只输出 菜单不是 空值的菜单
    167. String gives = (give[j] == 0) ? "" : give[j] + "赞";
    168. System.out.println(" " + CtMenuData[j] + "\t" + CtMenu[j] + "\t" + CtPrice[j] + " " + gives);
    169. }
    170. }
    171. //----------------------
    172. // 获取 餐带 里 的 菜单名字
    173. System.out.println("请输入餐单的单号:");
    174. int isMarrda = input.nextInt();
    175. // 不能小于1 小于则一只判断
    176. while (isMarrda < 1) { // 这里 防止用户 恶意输入
    177. System.out.println("输入错误!你想啥呢?吃空气?");
    178. System.out.println("请输入餐单的单号:");
    179. isMarrda = input.nextInt();
    180. }
    181. if (CtMenu[isMarrda - 1] == null) {
    182. System.out.println("非常抱歉,没有你要点的菜!!!");
    183. break;
    184. }
    185. // System.out.println(CtMenu[isMarrda - 1]);
    186. // 这里获取到了 他的点的 菜
    187. //----------------------
    188. // 获取 份数
    189. System.out.println("您需要购买几份?(最低1份):");
    190. int isParrda = input.nextInt();
    191. // 不能小于1 小于则一只判断
    192. while (isParrda < 1) { // 这里 防止用户 恶意输入
    193. System.out.println("输入错误!你想啥呢?吃空气?");
    194. System.out.println("您需要购买几份?(最低1份):");
    195. isParrda = input.nextInt();
    196. }
    197. // 这里 将 得到的 值 进行判断
    198. // System.out.println(isParrda + "份");
    199. // 获取的份数
    200. if ((isParrda * CtPrice[isMarrda - 1]) > 50) {
    201. System.out.println("总价值超过50元以优惠?");
    202. // 后续开发^_^
    203. }
    204. // System.out.println("份数:" + isParrda);
    205. // System.out.println("价格:" + (isParrda * CtPrice[isMarrda - 1]));
    206. // 获取的 总价值
    207. //----------------------
    208. System.out.println("请输入地址:");
    209. String isAddress = input.next();
    210. // 这里 将 得到的 值 进行判断
    211. // System.out.println(isAddress);
    212. //----------------------
    213. System.out.println("请输入时间:");
    214. int isTimes = input.nextInt();
    215. // 这里 将 得到的 值 进行判断
    216. while (isTimes < 9 || isTimes > 20) {// 判断 时间 不能超过9点-20点 在内的时间 数值 则不介入
    217. System.out.println("你输入的时间超过了可配送时间的范围");
    218. System.out.println("请输入时间:");
    219. isTimes = input.nextInt();
    220. }
    221. // System.out.println("时间:" + isTimes);// 输出测试
    222. // 获取的需要录入的 值;
    223. // 人名字:name[i]、菜名:CtMenu[isMarrda - 1]、
    224. // 份数:isParrda、价格:(isParrda*CtPrice[isMarrda-1])、
    225. // 地址:isAddress、时间:isTimes、
    226. //**********
    227. // 其他(优惠:(isParrda*Price[isMarrda-1])*0.8)打八折、
    228. //==============================
    229. // 执行录入数据库的功能就是录入数组
    230. // 并提示用户
    231. System.out.println("订餐成功!!!");
    232. String isname = name[i] + " 先生您好!";
    233. String isMeMa = "您订购的 " + CtMenu[isMarrda - 1] + " 菜,";
    234. String isPaPr = "总价:" + (double) Math.round((isParrda * CtPrice[isMarrda - 1] + money) * 100) / 100 + "元,";
    235. String isParrdaText = "共:" + isParrda + "份,";
    236. String isTimesText = "配送时间:" + isTimes + "点";
    237. String isMoney = "您的配送费是" + money + "元,";
    238. System.out.println(isname + isMeMa + isParrdaText + isPaPr + isMoney + isTimesText);
    239. // ------- 录入 初始化 防止数据不对称性 ----------
    240. array[i] = array[i - 1] + 1;
    241. name[i] = name[i];
    242. Menu[i] = CtMenu[isMarrda - 1];
    243. Price[i] = (double) Math.round((isParrda * CtPrice[isMarrda - 1] + money) * 100) / 100;
    244. Copy[i] = isParrda;
    245. times[i] = isTimes;
    246. address[i] = isAddress;
    247. // 录入 完成后跳出程序
    248. break;
    249. }
    250. }
    251. // 判断订单是否满了,如果满了则
    252. if (!isAdd) {
    253. System.out.println("非常抱歉,您的餐带以满!请等待一会吧!");
    254. }
    255. break;
    256. //=========================
    257. case 2:
    258. System.out.println("--------查看餐带--------" + "\t");
    259. System.out.println("序号\t" + "\t" + "订餐人姓名" + "\t订餐菜名\t" + " " + "\t" + "份数\t" + "\t" + "菜单价格\t" + "\t" + "送货地址\t" + "\t 配送时间\t" + "\t订单状态\t");
    260. for (int j = 0; j < Menu.length; j++) {
    261. if (name[j] != null) { //只输出“有人名字的”不是空值的订单
    262. String time = times[j] + "点";
    263. String state = (states[j] == 0) ? "以预定" : "已完成";
    264. String cop = Copy[j] + "份";
    265. System.out.println(" " + array[j] + "\t" + "\t" + name[j] + "\t" + "\t\t" + Menu[j] + "\t\t" + cop + "\t" + "\t" + Price[j] + "\t\t" + address[j] + "\t\t" + time + "\t\t" + state + "\t");
    266. }
    267. }
    268. break;
    269. //=========================
    270. case 3:
    271. System.out.println("--------签收订单--------");
    272. boolean isSign = false;
    273. //-----------------
    274. for (int j = 0; j < Menu.length; j++) {
    275. if (name[j] != null) { //只输出“有人名字的”不是空值的订单
    276. String time = times[j] + "点";
    277. String state = (states[j] == 0) ? "以预定" : "已完成";
    278. String cop = Copy[j] + "份";
    279. System.out.println(" " + array[j] + "\t" + "\t" + name[j] + "\t" + "\t\t" + Menu[j] + "\t\t" + cop + "\t" + "\t" + Price[j] + "\t\t" + address[j] + "\t\t" + time + "\t\t" + state + "\t");
    280. }
    281. }
    282. //-----------------
    283. System.out.println("请输入您要签收的订单编号:");
    284. int sign = input.nextInt();
    285. for (; i < name.length; i++) {
    286. if (name[i] != null && states[sign - 1] == 0 && array[sign - 1] == sign) {
    287. // 找到的订单是存在的且是0状态“以预定”而且用户的订单编号我能够对比上
    288. // 然后就可以签收了
    289. isSign = true;
    290. states[sign - 1] = 1;
    291. System.out.println("订单签收成功!");
    292. break;
    293. } else if (name[i] != null && states[sign - 1] == 1 && array[sign - 1] == sign) {
    294. isSign = true;
    295. // 易然是判断出有订单之后处理 没有的话直接if (!isSign)
    296. System.out.println("您选择的订单已经签收成功了!无需在次签收!");
    297. break;
    298. }
    299. }
    300. if (!isSign) {
    301. System.out.println("您要签收的订单不存在!!!");
    302. }
    303. break;
    304. //=========================
    305. case 4:
    306. System.out.println("--------删除订单--------");
    307. boolean isDelete = false;
    308. for (int j = 0; j < Menu.length; j++) {
    309. if (name[j] != null) { //只输出“有人名字的”不是空值的订单
    310. String time = times[j] + "点";
    311. String state = (states[j] == 0) ? "以预定" : "已完成";
    312. String cop = Copy[j] + "份";
    313. System.out.println(" " + array[j] + "\t" + "\t" + name[j] + "\t" + "\t\t" + Menu[j] + "\t\t" + cop + "\t" + "\t" + Price[j] + "\t\t" + address[j] + "\t\t" + time + "\t\t" + state + "\t");
    314. }
    315. }
    316. //-----------------
    317. System.out.println("请输入您要删除的订单编号:");
    318. int delete = input.nextInt();
    319. for (; i < name.length; i++) {
    320. }
    321. break;
    322. //=========================
    323. case 5:
    324. System.out.println("--------我要点赞--------");
    325. System.out.println("您是点赞菜单还是订单?");
    326. System.out.println("1.菜单");
    327. System.out.println("2.订单");
    328. System.out.println("您选择的编号:");
    329. int isGiver = input.nextInt();
    330. //判断范围
    331. while (isGiver > 2 || isGiver < 1) {
    332. System.out.println("您是点赞菜单还是订单?");
    333. System.out.println("1.菜单");
    334. System.out.println("2.订单");
    335. System.out.println("您输入错误!请重新输入:");
    336. isGiver = input.nextInt();
    337. continue;
    338. }
    339. if (isGiver == 1) {
    340. //----------------------
    341. System.out.println("序号\t 菜单\t价格");
    342. for (int j = 0; j < give.length; j++) {
    343. if (CtMenu[j] != null) { // 只输出 菜单不是 空值的菜单
    344. String gives = (give[j] == 0) ? "" : give[j] + "赞";
    345. System.out.println(" " + CtMenuData[j] + "\t" + CtMenu[j] + "\t" + CtPrice[j] + " " + gives);
    346. }
    347. }
    348. //----------------------
    349. System.out.println("请输入您要点赞的菜单编号:");
    350. int PraiseData1 = input.nextInt();
    351. for (; i < name.length; i++) {
    352. }
    353. //----------------------
    354. } else if (isGiver == 2) {
    355. //-----------------
    356. for (int j = 0; j < Menu.length; j++) {
    357. if (name[j] != null) { //只输出“有人名字的”不是空值的订单
    358. String time = times[j] + "点";
    359. String state = (states[j] == 0) ? "以预定" : "已完成";
    360. String cop = Copy[j] + "份";
    361. System.out.println(" " + array[j] + "\t" + "\t" + name[j] + "\t" + "\t\t" + Menu[j] + "\t\t" + cop + "\t" + "\t" + Price[j] + "\t\t" + address[j] + "\t\t" + time + "\t\t" + state + "\t");
    362. }
    363. }
    364. //----------------------
    365. System.out.println("请输入您要点赞的菜单编号:");
    366. int PraiseData2 = input.nextInt();
    367. for (; i < name.length; i++) {
    368. }
    369. //----------------------
    370. }
    371. break;
    372. //=========================
    373. case 6:
    374. //退出系统
    375. user = true;
    376. break;
    377. //=========================
    378. default:
    379. //退出系统
    380. user = true;
    381. break;
    382. }
    383. //=========================
    384. if (!user) {// !user等同于user==false
    385. System.out.print("输入“0”后返回菜单");
    386. data = input.nextInt();
    387. } else {
    388. break;
    389. }
    390. //=========================
    391. }while (data == 0) ;
    392. System.out.println("感谢使用!!!欢迎下次光临!");
    393. }
    394. }

    欢迎大家的看法!!!

  • 相关阅读:
    .NET6: 开发基于WPF的摩登三维工业软件 (7)
    Django03_Django基本配置
    springAOP和AspectJ有关系吗?如何使用springAOP面向切面编程
    微信支付、微信公众号接口认证方案
    Oracle数据库笔记(一)
    【IDEA】使用idea调试时查看对象集合的值
    二分套网络流:ABC320G
    选择离子风棒需要注意什么?
    线程池阻塞队列长度设置失误导致任务一直被阻塞未能执行
    AtCoder Beginner Contest 278「A」「B」「C」「D」「E」「F 对抗博弈」
  • 原文地址:https://blog.csdn.net/qq_39395109/article/details/126959767