zoukankan      html  css  js  c++  java
  • 重写吃货联盟

    需求:根据所学面的向对象以及集合知识,重写吃货联盟

     1 /**
     2  * @author Administrator
     3  *    菜单类
     4  */
     5 public class Mune {
     6     private int num;//菜单序号
     7     private String muneNmae;//菜品名
     8     private double price;//菜品单价
     9     private int Zan;//点赞数
    10     public Mune(int num, String muneNmae, double price, int zan) {
    11         super();
    12         this.num = num;
    13         this.muneNmae = muneNmae;
    14         this.price = price;
    15         Zan = zan;
    16     }
    17     public int getNum() {
    18         return num;
    19     }
    20     public void setNum(int num) {
    21         this.num = num;
    22     }
    23     public String getMuneNmae() {
    24         return muneNmae;
    25     }
    26     public void setMuneNmae(String muneNmae) {
    27         this.muneNmae = muneNmae;
    28     }
    29     public double getPrice() {
    30         return price;
    31     }
    32     public void setPrice(double price) {
    33         this.price = price;
    34     }
    35     public int getZan() {
    36         return Zan;
    37     }
    38     public void setZan(int zan) {
    39         Zan = zan;
    40     }
    41 }
    42 
    43 
    44 
    45 
    46 /**
    47  * @author Administrator
    48  *    菜单初始化以及编写响应功能
    49  */
    50 public class MuneInfo {
    51     public static Mune[] mune = new Mune[10];
    52     static {
    53         //菜品名、价格、点赞数
    54         mune[0] = new Mune(1, "红烧带鱼", 38.0, 555);
    55         mune[1] = new Mune(2, "鱼香肉丝", 15.0, 333);
    56         mune[2] = new Mune(3, "时令鲜疏", 10.0, 222);
    57     }
    58     
    59     //打印菜单
    60     public static void toprint() {
    61         System.out.println("序号		菜名		单价		点赞数		");
    62         for(Mune mu : mune) {
    63             if(mu != null) {
    64                 System.out.println(mu.getNum()+"		"+mu.getMuneNmae()+"		"+mu.getPrice()+"		"+mu.getZan());
    65             }
    66         }
    67     }
    68     
    69     //查询菜单
    70     public static void findInfo(int i) {
    71         System.out.println("序号		菜名		单价		点赞数		");
    72         System.out.println(mune[i-1].getNum()+"		"+mune[i-1].getMuneNmae()+"		"
    73         +mune[i-1].getPrice()+"		"+mune[i-1].getZan());
    74     }
    75 }
    菜单以及初始化菜单和编写菜单相关功能
    /**
     * @author Administrator
     *    餐袋信息
     */
    public class OrderInfo {
        private int xuhao;//序号
        private String names;//用户名字
        private String Dishes;//菜品
        private int count;//份数
        private int time;//送餐时间
        private String address;//送餐地址
        private double moneys;//总价格
        private String state;//订单状态
        public OrderInfo(int xuhao, String names, String dishes, int count, int time, String address, double moneys,
                String state) {
            super();
            this.xuhao = xuhao;
            this.names = names;
            Dishes = dishes;
            this.count = count;
            this.time = time;
            this.address = address;
            this.moneys = moneys;
            this.state = state;
    
        }
        public int getXuhao() {
            return xuhao;
        }
        public void setXuhao(int xuhao) {
            this.xuhao = xuhao;
        }
        public String getNames() {
            return names;
        }
        public void setNames(String names) {
            this.names = names;
        }
        public String getDishes() {
            return Dishes;
        }
        public void setDishes(String dishes) {
            Dishes = dishes;
        }
        public int getCount() {
            return count;
        }
        public void setCount(int count) {
            this.count = count;
        }
        public int getTime() {
            return time;
        }
        public void setTime(int time) {
            this.time = time;
        }
        public String getAddress() {
            return address;
        }
        public void setAddress(String address) {
            this.address = address;
        }
        public double getMoneys() {
            return moneys;
        }
        public void setMoneys(double moneys) {
            this.moneys = moneys;
        }
        public String getState() {
            return state;
        }
        public void setState(String state) {
            this.state = state;
        }
    }
    
    
    
    
    
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class OrderInfoInit {
        public static List<OrderInfo> orderinfo = new ArrayList<>();
        //public static OrderInfo[] orderinfo = new OrderInfo[10];
        static {
            orderinfo.add(new OrderInfo(1,"张三","红烧鱼",1,14,"天成路207号",38.0,"已完成"));
            orderinfo.add(new OrderInfo(2,"李四","鱼香肉丝",2,14,"天成路207号",38.0,"已预订"));
        }
        
        public static void toprint() {
            System.out.println("序号		订餐人		餐品信息		份数		送餐时间		送餐地址		总金额		订单状态");
            Iterator<OrderInfo> it = orderinfo.iterator();
            while(it.hasNext()) {
                OrderInfo str = it.next();
                System.out.println(str.getXuhao()+"		"+str.getNames()
                +"		"+str.getDishes()+"		"+str.getCount()+"		"+str.getTime()+"		"
                        +str.getAddress()+"	"+str.getMoneys()+"		"+str.getState());
            }
        }
        
        public static void findInfo(int i) {
            System.out.println("序号		订餐人		餐品信息		份数		送餐时间		送餐地址		总金额		订单状态");
            System.out.println(orderinfo.get(i-1).getXuhao()+"		"+orderinfo.get(i-1).getNames()
            +"		"+orderinfo.get(i-1).getDishes()+"		"+orderinfo.get(i-1).getCount()+"		"
                    +orderinfo.get(i-1).getTime()+"		"+orderinfo.get(i-1).getAddress()
                    +"		"+orderinfo.get(i-1).getMoneys()+"		"+orderinfo.get(i-1).getState());
        }
    }
    封装订单以及初始化订单和编写功能操作
    /**
     * @author Administrator
     *    显示操作界面
     */
    public class View {
        public static void view() {
            System.out.println("欢迎使用“吃货联盟订餐系统!”");
            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("********************");
        }
    }
    
    
    
    
    /**
     * @author Administrator
     *    操作功能界面
     */
    public class UserView {
        public static void userview() {
            View.view();
            System.out.println("请选择:");
            String choose = TestDome.input.next();
            switch (choose) {
            //我要订餐
            case "1":
                orderFood();
                break;
            //查看餐袋
            case "2":
                lookOver();
                break;
            //签收订单
            case "3":
                signFor();
                break;
            //删除订单
            case "4":
                delete();
                break;
            //我要点赞
            case "5":
                dianzan();
                break;
            //退出系统
            case "6":
                exit();
                break;
    
            default:
                //客户输入0~6以外的数字皆默认不使用本系统
                TestDome.flag= false;
                break;
            }
    
        }
            
        
        //订餐方法
        private static void orderFood() {
            System.out.println("****我要订餐****");
            MuneInfo.toprint();
            System.out.print("请输入订餐人姓名:");
            String name = TestDome.input.next();
            boolean flag1 = false;
            System.out.print("请选择您要点的菜单编号:");
            int dex;
            do {
    
                dex = TestDome.input.nextInt();
                if (dex >= 1 && dex <= 3) {
                    break;
                } else {
                    System.out.print("您选择的菜单编号不存在,请重新选择:");
                    flag1 = true;
                }
            } while (flag1);
            String dishes = MuneInfo.mune[dex - 1].getMuneNmae();
            System.out.print("请输入您需要的分数:");
            int num = TestDome.input.nextInt();
            double moneys = MuneInfo.mune[dex - 1].getPrice() * num;
            System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");
            int time;
            do {
                time = TestDome.input.nextInt();
                if (time >= 10 && time <= 20) {
                    break;
                } else {
                    flag1 = true;
                    System.out.print("您输入的时间不在送餐时间内,请重新输入(送餐时间是10点至20点间整点送餐):");
                }
            } while (flag1);
            System.out.print("请输入您的送餐地址:");
            String address = TestDome.input.next();
            String state = "已预订";
            int num1 = OrderInfoInit.orderinfo.size();
            OrderInfoInit.orderinfo.add(new OrderInfo(num1+1, name, dishes, num, time, address, moneys, state));
            System.out.println("恭喜您订餐成功!订单详情如下:");
            OrderInfoInit.findInfo(num1+1);;
        }
    
        //查看餐袋方法
        private static void lookOver() {
            System.out.println("****查看餐袋****");
            OrderInfoInit.toprint();
        }
        //签收订单方法
        private static void signFor() {
            boolean flag1 = true;
            System.out.println("****签收订单****");
            OrderInfoInit.toprint();
            int num;
            do {
                System.out.println("请选择要签收的订单序号:");
                num = TestDome.input.nextInt();
                if(OrderInfoInit.orderinfo.get(num-1).getState() == "已完成") {
                    System.out.println("该订单已完成,无法重复签收,请重新选择需要签收的订单序号!");
                }else {
                    flag1 = false;
                    OrderInfoInit.orderinfo.get(num-1).setState("已完成");
                    System.out.println("订单签收成功!");
                    
                    break;
                }
            }while(flag1);
            OrderInfoInit.findInfo(num);
        }
        //删除方法
        private static void delete() {
            boolean flag11 = true;
            System.out.println("****删除订单****");
            OrderInfoInit.toprint();
            do {
                System.out.println("请选择您需要删除的订单序号:");
                int num = TestDome.input.nextInt();
                if(num > OrderInfoInit.orderinfo.size()) {
                    System.out.println("该订单序号不存在,请重新选择您要删除的订单序号!");
                }else {
                    flag11 = false;
                    if( num <= OrderInfoInit.orderinfo.size()) {
                        OrderInfoInit.orderinfo.remove(num-1);
                    }
                    for(int i = 0;i < OrderInfoInit.orderinfo.size();i++) {
                        OrderInfoInit.orderinfo.get(i).setXuhao(i+1);
                    }
                    System.out.println("订单删除成功!");
                    OrderInfoInit.toprint();
                }
            }while(flag11);
        }
        //点赞方法
        private static void dianzan() {
            boolean flag2 = true;
            System.out.println("****我要点赞****");
            MuneInfo.toprint();
            do{
                System.out.println("请选择您要点赞的菜品序号:");
                int i = TestDome.input.nextInt();
                if(i<=MuneInfo.mune.length) {
                    flag2 = false;
                    MuneInfo.mune[i-1].setZan(MuneInfo.mune[i-1].getZan()+1);
                    System.out.println("点赞成功!");
                    MuneInfo.findInfo(i);
                    break;
                }else {
                    System.out.println("您选择的菜品序号不存在,请重新选择!:");
                }
            }while(flag2);
        }
        private static void exit() {
            System.out.println("****退出系统****");
            TestDome.flag = false;
            
        }
    }
    用户操作界面
     1 import java.util.Scanner;
     2 
     3 /**
     4  * @author Administrator
     5  *    测试类
     6  */
     7 public class TestDome {
     8     static Scanner input = new Scanner(System.in);
     9     static boolean flag = true;//返回是否退出系统
    10     static int num0;//为0返回菜单
    11     public static void main(String[] args) {
    12         do{
    13             UserView.userview();
    14             if(!flag==true) {
    15                 break;
    16             }else {
    17                 System.out.println("请输入0返回菜单");
    18                 num0 = input.nextInt();
    19             }
    20         }while(num0 == 0);
    21         System.out.println("谢谢使用,欢迎下次光临!");
    22     }
    23 }
    测试类

    测试运行结果:

    查看餐袋信息:

    实现订餐:

    订完餐后查看餐袋:

    签收订单:

    删除订单:

    点赞以及退出系统:

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    http 请求code状态码
    js 跳转链接
    a标签-伪类
    在linux中如何解压.tgz
    dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
    nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
    微信小程序实现左滑删除效果(原生/uni-app)
  • 原文地址:https://www.cnblogs.com/Dean-0/p/11254495.html
Copyright © 2011-2022 走看看