关于java入门基础的应用项目---“吃货联盟”订餐系统

关于java入门基础的应用项目---“吃货联盟”订餐系统,第1张

关于java入门基础的应用项目---“吃货联盟”订餐系统 “吃货联盟定餐系统”需求说明         现今已进入网络时代,网上购物、看新闻、交友等人们的日常生活已离不开网络。“只 要点点手指,就能送餐上门”,网上定餐越来越受到都市年轻人的青睐 现要求开发一个网上订餐系统,其具体功能如下: 一、我要订餐 完成用户订餐,每条订单包含如下信息: * *订餐人姓名:要求用户输入 * *选择菜品及份数:显示三个菜单序号、名称、单价、点赞数,提示用户输入要     选择的菜品序号及份数 * *送餐时间:要求当天 10 到 20 点间整点送餐,要求用户输入 10~20 的整数,输    入错误,重复输入。 * *送餐地址:要求用户输入 * *状态:两种状态:0 :已预定(默认状态) 1 、已完成(订单已签收) * *总金额: 总金额 = 菜品单价 * 份数 - 送餐费  (送餐费:当单笔订单金额达到 50 元时,免送餐费,否则,需交纳 6 元送餐费)     订餐成功后,显示订单信息。 二、 查看订单 遍历显示已有定单 内容包括:序号、订餐人姓名、订餐信息(菜品名和份数)、送餐时间、送餐地址、 状态(已预定或已完成)、总金额 三、 签收定单 将定单中状态改为已完成 四、删除定单 用户输入订单序号,如该序号定单为已完成状态,可以删除,其它情况给出相应提 示信息 五、我要点赞 显示菜品序号、菜品名、单价、点赞数,提示用户输入要点赞的菜品序号完成对菜 品的点赞。 六、退出系统 退出整个系统,显示“谢谢使用,欢迎下次光临”。 对于上面的项目要求,博主这边也是做出了完整的代码,下面就是代码的与注释分析:  
import java.util.Arrays;
import java.util.Scanner;
//
public class pingTai {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        String[] dishes = {"宫保鸡丁", "蒸鸡蛋", "红烧鲍鱼", "佛跳墙", "麻婆豆腐"};//定义菜名
        double[] prices = {23, 56, 43, 88, 15}; //定义  单价
        int[] honors = new int[5];    //定义   点赞数
        final double SEND_PRICE = 6; //定义   配送费为6元
        String[][] bills = new String[1000][];  //定义  订单详情
        System.out.println("********欢迎来到吃货联盟********");
        int choice;   //定义  所选择的首页功能(1-6)
        do {
            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.print("请输入您的选择:");
            choice = s.nextInt();
            switch (choice) {
                case 1:
                    System.out.print("请输入您的姓名:");
                    String name = s.next();   //定义   点餐人姓名
                    //展示菜单
                    System.out.println("序号t菜名t价格t点赞数");
                    for (int i = 0; i < dishes.length; i++) {
                        System.out.println(i + 1 + "t" + dishes[i] + "t" + prices[i] + "t" + honors[i]);
                    }
                    System.out.print("请输入您要点的菜品:");
                    int num = s.nextInt();
                    System.out.print("请输入份数:");
                    int pcs = s.nextInt();      //定义  点餐分数
                    System.out.print("请输入送餐时间(10-20点整点送餐):");
                    int time = s.nextInt();      //定义   送餐时间
                    System.out.print("请输入送餐地址:");
                    String address = s.next();    //定义   送餐地址
                    double total = prices[num - 1] * pcs;    //定义  总价=单价*份数
                    total = total > 60 ? total : total + SEND_PRICE; 
                       //(用三元表达式)总价如果大于60免配送费6元,否则总价=总价+配送费6元                    
                    System.out.println(name + "顾客,恭喜订餐成功,您点了" + dishes[num-1] + pcs + "份" + "总价为" + total + "元," + time + "点送达,您的地址为:" +  address);
                                        
                        for (int i = 0; i < bills.length; i++) {
                        if (bills[i] == null) {  //判断  bills[i]为空的状态时
                            bills[i] = new String[]{dishes[num - 1] + "t" + pcs + "t" + 
                            total + "t" +name + "t" + time + "t" + address, "已预订"};
                                     //  给数组  bills[i] 赋值
                            break;
                        }
                    }
                    break;
                case 2:
                    System.out.println("***查看订单***");
                    System.out.println("序号t菜名tt份数t总价t姓名t时间t送餐地址t状态");
                    for (int i = 0; i < bills.length; i++) {
                        if (bills[i] == null) {
                            break;
                        }
                        System.out.println(i + 1 + "t" + bills[i][0] + "t" + bills[i][1]);
                    }
                case 3:
                    System.out.println("***确认订单***");
                    System.out.println("序号t菜名tt份数t总价t姓名t时间t送餐地址t状态");
                    for (int i = 0; i < bills.length; i++) {
                        if (bills[i] == null) {
                            break;
                        }
                        System.out.println(i + 1 + "t" + bills[i][0] + "t" + bills[i][1]);
                    }
                    System.out.print("请选择您要确认的订单编号:");
                    int billNum = s.nextInt();   //定义  订单编号
                    if (bills[billNum - 1] == null) {   //如果此订单为空
                        System.out.println("订单不存在");
                    } else if (bills[billNum - 1][1].equals("已完成")) {  //如果此订单显示“已完成”
                        System.out.println("订单已完成,不能重复确认!");
                    } else {
                        bills[billNum - 1][1] = "已完成";   //如果此订单已完成
                        System.out.println("确认订单成功!");
                    }
                    break;
                case 4:
                    System.out.println("***删除订单***");
                    System.out.println("序号t菜名tt份数t总价t姓名t时间t送餐地址t状态");
                    for (int i = 0; i < bills.length; i++) {
                        if (bills[i] == null) {
                            break;
                        }
                        System.out.println(i + 1 + "t" + bills[i][0] + "t" + bills[i][1]);
                    }
                    System.out.print("请输入要删除的订单:");
                    int delNum = s.nextInt();
                    if (bills[delNum - 1] == null) {
                        System.out.println("订单不存在,删除失败!");
                    } else if (bills[delNum - 1][1].equals("已预订")) {
                        System.out.println("订单未完成,不能删除!");
                    } else {  //可以删除
                        for (int i = delNum - 1; i < bills.length; i++) {
                            bills[i] = bills[i + 1];
                            if (bills[i + 1] == null) {
                                break;
                            }
                        }
                        System.out.println("删除成功!");
                    }
                    break;
                case 5:
                    //展示菜单
                    System.out.println("序号t菜名t价格t点赞数");
                    for (int i = 0; i < dishes.length; i++) {
                        System.out.println(i + 1 + "t" + dishes[i] + "t" + prices[i] + "t" + honors[i]);
                    }
                    System.out.print("请输入您点赞的菜品:");
                    int honnorNum = s.nextInt();
                    honors[honnorNum - 1]++;
                    break;
                case 6:
                    break;
                default:
            }
        } while (choice > 0 && choice < 6);
        System.out.println("谢谢惠顾,欢迎下次光临!");


    }
}

然后这个程序的运行结果如下,也是符合项目要求的:

"C:Program FilesJavajdk1.8.0_241binjava.exe" "-javaagent:C:Program 
********欢迎来到吃货联盟********
*****1、我要订餐*****
*****2、查看订单*****
*****3、确认订单*****
*****4、删除订单*****
*****5、我要点赞*****
*****6、退出系统*****
请输入您的选择:1
请输入您的姓名:Hm
序号	菜名	价格	点赞数
1	宫保鸡丁	23.0	0
2	蒸鸡蛋	56.0	0
3	红烧鲍鱼	43.0	0
4	佛跳墙	88.0	0
5	麻婆豆腐	15.0	0
请输入您要点的菜品:2
请输入份数:2
请输入送餐时间(10-20点整点送餐):15
请输入送餐地址:南京市玄武湖
Hm顾客,恭喜订餐成功,您点了蒸鸡蛋2份总价为112.0元,15点送达,您的地址为:南京市玄武湖
*****1、我要订餐*****
*****2、查看订单*****
*****3、确认订单*****
*****4、删除订单*****
*****5、我要点赞*****
*****6、退出系统*****
请输入您的选择:2
***查看订单***
序号	菜名		份数	总价	姓名	时间	送餐地址	状态
1	蒸鸡蛋	2	112.0	Hm	15	南京市玄武湖	已预订
***确认订单***
序号	菜名		份数	总价	姓名	时间	送餐地址	状态
1	蒸鸡蛋	2	112.0	Hm	15	南京市玄武湖	已预订
请选择您要确认的订单编号:3
订单不存在
*****1、我要订餐*****
*****2、查看订单*****
*****3、确认订单*****
*****4、删除订单*****
*****5、我要点赞*****
*****6、退出系统*****
请输入您的选择:3
***确认订单***
序号	菜名		份数	总价	姓名	时间	送餐地址	状态
1	蒸鸡蛋	2	112.0	Hm	15	南京市玄武湖	已预订
请选择您要确认的订单编号:1
确认订单成功!
*****1、我要订餐*****
*****2、查看订单*****
*****3、确认订单*****
*****4、删除订单*****
*****5、我要点赞*****
*****6、退出系统*****
请输入您的选择:4
***删除订单***
序号	菜名		份数	总价	姓名	时间	送餐地址	状态
1	蒸鸡蛋	2	112.0	Hm	15	南京市玄武湖	已完成
请输入要删除的订单:1
删除成功!
*****1、我要订餐*****
*****2、查看订单*****
*****3、确认订单*****
*****4、删除订单*****
*****5、我要点赞*****
*****6、退出系统*****
请输入您的选择:2
***查看订单***
序号	菜名		份数	总价	姓名	时间	送餐地址	状态
***确认订单***
序号	菜名		份数	总价	姓名	时间	送餐地址	状态
请选择您要确认的订单编号:5
订单不存在
*****1、我要订餐*****
*****2、查看订单*****
*****3、确认订单*****
*****4、删除订单*****
*****5、我要点赞*****
*****6、退出系统*****
请输入您的选择:5
序号	菜名	价格	点赞数
1	宫保鸡丁	23.0	0
2	蒸鸡蛋	56.0	0
3	红烧鲍鱼	43.0	0
4	佛跳墙	88.0	0
5	麻婆豆腐	15.0	0
请输入您点赞的菜品:5
*****1、我要订餐*****
*****2、查看订单*****
*****3、确认订单*****
*****4、删除订单*****
*****5、我要点赞*****
*****6、退出系统*****
请输入您的选择:1
请输入您的姓名:Hm
序号	菜名	价格	点赞数
1	宫保鸡丁	23.0	0
2	蒸鸡蛋	56.0	0
3	红烧鲍鱼	43.0	0
4	佛跳墙	88.0	0
5	麻婆豆腐	15.0	1
请输入您要点的菜品:2
请输入份数:5
请输入送餐时间(10-20点整点送餐):13
请输入送餐地址:11
Hm顾客,恭喜订餐成功,您点了蒸鸡蛋5份总价为280.0元,13点送达,您的地址为:11
*****1、我要订餐*****
*****2、查看订单*****
*****3、确认订单*****
*****4、删除订单*****
*****5、我要点赞*****
*****6、退出系统*****
请输入您的选择:6
谢谢惠顾,欢迎下次光临!

Process finished with exit code 0

这是博主写出来的代码跟运行结果额,有兴趣的小伙伴也可以试试看

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4828910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存