在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Java语言基础 → 北大青鸟s1java第17章

北大青鸟s1java第17章

Java语言基础

下载此实例
  • 开发语言:Java
  • 实例大小:9.68KB
  • 下载次数:7
  • 浏览次数:73
  • 发布时间:2021-07-12
  • 实例类别:Java语言基础
  • 发 布 人:熊猫小屁孩呀呀呀
  • 文件格式:.zip
  • 所需积分:2
 相关标签: 北大青鸟 java

实例介绍

【实例简介】帮助莘莘学子完成项目,提供思路

【实例截图】from clipboard

from clipboard

【核心代码】package xm;
import java.util.Scanner;

/**
 * 订单操作类
 * @author DELL
 *
 */

public class OrderingUtil {
    //第一个:定义可供选择的菜品            //是用来给用户选择用的
        Dishes[] dishe = new Dishes[3];
        
        //第二个:订单信息类对象,相当于用户餐袋           
        Orderingset oSet = new Orderingset();
        
        /**
         * 初始化方法
         */
        public void init() {
            //初始化菜品
            Dishes ds1 = new Dishes();
            ds1.name = "红烧带鱼";
            ds1.Price = 38.0;
            ds1.Dzs = 0;
            
            Dishes ds2 = new Dishes();
            ds2.name = "鱼香肉丝";
            ds2.Price = 20.0;
            ds2.Dzs = 0;
            
            Dishes ds3 = new Dishes();
            ds3.name = "时令鲜蔬";
            ds3.Price = 10.0;
            ds3.Dzs = 0;
            
            dishe[0] = ds1;
            dishe[1] = ds2;
            dishe[2] = ds3;
            
            
            //先往餐袋里面放两个订单
            //第一个订单
            oSet.names[0] = "张晴";
            oSet.dishMegs[0] = "红烧带鱼2份";
            oSet.times[0] = 3;
            oSet.addresses[0] = "天堂";
            oSet.states[0] = 1;
            oSet.sumPrices[0] = 76.0;
            
            //第二个订单
            oSet.names[1] = "张晴";
            oSet.dishMegs[1] = "鱼香肉丝2份";
            oSet.times[1] = 10;
            oSet.addresses[1] = "天堂";
            oSet.states[1] = 0;
            oSet.sumPrices[1] = 46.0;
        }
        
        /**
         * 系统操作类
         */
        public void Menu() {
            boolean ad=false;
            Scanner input = new Scanner(System.in);
            int num = 0;
            System.out.println("\n欢迎使用“吃货联盟订餐系统”");
            // 循环:显示菜单,根据用户选择的数字执行相应功能
            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.print("请选择:");
                int choose = input.nextInt(); // 记录用户选择的功能编号
                
                // 根据用户选择的功能编号执行相应功能
                switch (choose) {
                    case 1:
                        // 我要订餐
                        
                        System.out.println("***我要订餐***");
                        add();
                        //订餐方法
                        break;
                    case 2:
                        // 查看餐袋
                        
                        System.out.println("***查看餐袋***");
                        //查看方法
                        display();
                        break;
                    case 3:
                        // 签收订单
                        System.out.println("***签收订单***");
                        sign();
                        //签收方法
                        break;
                    case 4:
                        // 删除订单
                        System.out.println("***删除订单***");    
                        delete();
                        break;
                    case 5:
                        // 我要点赞
                        System.out.println("***我要点赞***");
                        praise();
                        break;
                    case 6:
                        // 退出系统
                        break;
                    default:
                        //退出系统
                        break;
                }
                if(!ad) {
                    System.out.println("输入0返回:");
                    num=input.nextInt();
                }else {
                    break;
                }
            } while (num == 0);
            
            
            System.out.println("谢谢使用,欢迎下次光临!");
        }
        /**
         * 第一遍查看餐袋方法
         */
        void display(){
            System.out.println("序号\t订餐人\t餐品信息\t\t送餐时间\t送餐地址\t\t总金额\t订单状态");
            for(int i=0;i<oSet.names.length;i ) {
                if(oSet.names[i]!=null) {
                    String state=(oSet.states[i]==0)?"已预订":"已完成";
                    String date=oSet.times[i] "点";
                    String sumPrice=oSet.sumPrices[i] "元";
                    System.out.println((i 1) "\t" oSet.names[i] "\t" oSet.dishMegs[i] "\t\t" date "\t" oSet.addresses[i] "\t\t" sumPrice "\t" state);
                }
            }
        }
        /**
         * 订餐的方法
         */
        void add() {
            //第一步:判断餐袋是否已满。满了就不能预订了。
            //第二步:打印给客户要点的菜。
            //第三步:客户选择,并生成订单成功信息。
            //第四步:把订单信息加到我的餐袋。
            Scanner input = new Scanner(System.in);
            boolean fig = false;            //记录餐袋是否已满
            //第一步
            for (int i = 0; i < oSet.names.length; i ) {
                if(oSet.names[i] == null) {
                    //实行第二步
                    System.out.println("请输入订餐人的姓名:");
                    String name = input.next();
                    System.out.println("序号\t菜名\t单价\t点赞数");
                    //循环打印对象数组
                    for (int j = 0; j < dishe.length; j ) {
                        System.out.println((j 1) "\t" dishe[j].name "\t"
                     dishe[j].Price "\t" dishe[j].Dzs);    
                    }
                    
                    //第三步:胡可选择
                    System.out.println("请选择您要点的菜品编号:");
                    int num = input.nextInt();        //菜品编号
                    System.out.println("请选择您需要的份数:");
                    int fz = input.nextInt();        //份数
                    System.out.println("请输入送餐时间(送餐时间是10点至20点整点送餐):");
                    int time = input.nextInt();
                    while (time < 10 || time > 20) {
                        System.out.println("时间选择错误,请重新选择:");
                        time = input.nextInt();
                    }
                    System.out.println("请输入送餐地址:");
                    String dz = input.next();
                    
                    
                    System.out.println("订餐成功!");
                    String cp = dishe[num-1].name fz "份";    //生成了你的菜品
                    System.out.println("您订的是:" cp);
                    System.out.println("送餐时间:" time);
                    double scf = 0.0;        //送餐费
                    double cf = dishe[num-1].Price * fz;
                    if(cf < 50) {
                        scf = 5.0;
                    }
                    System.out.println("餐费:" cf ",送餐费:" scf ",总计:" (cf scf));
                    
                    //第四步:把客户选择的信息添加到我的餐袋
                    oSet.names[i] = name;
                    oSet.dishMegs[i] = cp;
                    oSet.addresses[i] = dz;
                    oSet.times[i] = time;
                    oSet.sumPrices[i] = (cf scf);
                    oSet.states[i] = 0;        //代表已预订
                    fig = true;
                    break;
                }
                
            }
            if(fig) {
                return;
            } else {
                System.out.println("您的餐袋已满!");
                return;
            }
            
        }
        void sign() {
            Scanner input=new Scanner(System.in);
            boolean isSignFind=false;//找到要签收的订单
            System.out.println("请选择要签收的订单序号:");
            int signOrderId=input.nextInt();
            for(int i=0;i<oSet.names.length;i ) {
                //状态为已预订,序号为用户输入的订单号减1:可签收
                //状态为已完成,序号为用户输入的订单序号减1:不可签收
                if(oSet.names[i]!=null&&oSet.states[i]==0&&signOrderId==i 1) {
                    oSet.states[i]=1;//状态值置为已完成
                    System.out.println("订单签收成功!");
                    isSignFind=true;//已找到此订单
                }else if(oSet.names[i]!=null&&oSet.states[i]==1&&signOrderId==i 1) {
                    System.out.println("您选择的订单已完成签收,不能再次签收!");
                    isSignFind=true;//标记已找到此订单
                }
            }if(!isSignFind) {
                System.out.println("您选择的订单不存在!");
            }
        }
        void delete() {
            Scanner input=new Scanner(System.in);
            boolean isDelFind=false;//标记是否找到要删除的订单
            System.out.println("请输入要删除的订单序号:");
            int delId=input.nextInt();
            for(int i=0;i<oSet.names.length;i ) {
                //状态值为已完成,序号为用户输入的序号减1:可删除
                //状态值为已预定,序号为用户输入的序号减1:不可删除
                if(oSet.names[i]!=null&& oSet.states[i]==1&&delId==i 1) {
                    isDelFind=true;//标识已找到此订单
                    //执行删除操作:删除位置后的元素依次前移
                    for(int j=delId-1;j<oSet.names.length-1;j ) {
                        oSet.names[j]=oSet.names[j 1];
                        oSet.dishMegs[j]=oSet.dishMegs[j 1];
                        oSet.times[j]=oSet.times[j 1];
                        oSet.addresses[j]=oSet.addresses[j 1];
                        oSet.states[j]=oSet.states[j 1];
                        oSet.sumPrices[j]=oSet.sumPrices[j 1];
                    }
                    //最后一位清空
                    int endIndex=oSet.names.length-1;
                    oSet.names[endIndex]=null;
                    oSet.dishMegs[endIndex]=null;
                    oSet.times[endIndex]=0;
                    oSet.addresses[endIndex]=null;
                    oSet.states[endIndex]=0;
                    oSet.sumPrices[endIndex]=0;
                    System.out.println("删除订单成功!");
                    break;
                    
                }else if(oSet.names[i]!=null&&oSet.states[i]==0&&delId==i 1) {
                    System.out.println("您选择的订单未签收,不能删除!");
                    isDelFind=true;//标记已找到此订单
                    break;
                }
            }
            //未找到该序号的订单:不能删除
            if(!isDelFind) {
                System.out.println("您要的订单不存在!");
            }
        }
        void praise() {
            Scanner input=new Scanner(System.in);
            //显示菜品信息
            System.out.println("序号" "\t" "菜名" "\t" "单价");
                
                for (int j = 0; j < dishe.length; j ) {
                    String priaiseNum=(dishe[j].Dzs)>0?dishe[j].Dzs "赞":"";
                    System.out.println((j 1) "\t" dishe[j].name "\t"
                 dishe[j].Price "\t" dishe[j].Dzs);    
                }
            System.out.println("请选择你要点赞商品序号:");
            int priaiseNum=input.nextInt();
            dishe[priaiseNum-1].Dzs ;//点赞加1
            System.out.println("点赞成功!");
        }
}

标签: 北大青鸟 java

实例下载地址

北大青鸟s1java第17章

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警