重写吃货联盟

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

 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("序号\t\t菜名\t\t单价\t\t点赞数\t\t");
62         for(Mune mu : mune) {
63             if(mu != null) {
64                 System.out.println(mu.getNum()+"\t\t"+mu.getMuneNmae()+"\t\t"+mu.getPrice()+"\t\t"+mu.getZan());
65             }
66         }
67     }
68
69     //查询菜单
70     public static void findInfo(int i) {
71         System.out.println("序号\t\t菜名\t\t单价\t\t点赞数\t\t");
72         System.out.println(mune[i-1].getNum()+"\t\t"+mune[i-1].getMuneNmae()+"\t\t"
73         +mune[i-1].getPrice()+"\t\t"+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("序号\t\t订餐人\t\t餐品信息\t\t份数\t\t送餐时间\t\t送餐地址\t\t总金额\t\t订单状态");
        Iterator<OrderInfo> it = orderinfo.iterator();
        while(it.hasNext()) {
            OrderInfo str = it.next();
            System.out.println(str.getXuhao()+"\t\t"+str.getNames()
            +"\t\t"+str.getDishes()+"\t\t"+str.getCount()+"\t\t"+str.getTime()+"\t\t"
                    +str.getAddress()+"\t"+str.getMoneys()+"\t\t"+str.getState());
        }
    }

    public static void findInfo(int i) {
        System.out.println("序号\t\t订餐人\t\t餐品信息\t\t份数\t\t送餐时间\t\t送餐地址\t\t总金额\t\t订单状态");
        System.out.println(orderinfo.get(i-1).getXuhao()+"\t\t"+orderinfo.get(i-1).getNames()
        +"\t\t"+orderinfo.get(i-1).getDishes()+"\t\t"+orderinfo.get(i-1).getCount()+"\t\t"
                +orderinfo.get(i-1).getTime()+"\t\t"+orderinfo.get(i-1).getAddress()
                +"\t\t"+orderinfo.get(i-1).getMoneys()+"\t\t"+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 }

测试类

测试运行结果:

查看餐袋信息:

实现订餐:

订完餐后查看餐袋:

签收订单:

删除订单:

点赞以及退出系统:

原文地址:https://www.cnblogs.com/Dean-0/p/11254495.html

时间: 2024-10-12 08:56:52

重写吃货联盟的相关文章

房上的猫:吃货联盟项目

一.首先先定义部分成员变量: String[] name = new String[4];// 订餐人 String[] greens = new String[4];// 储存菜品名称 String[] green = { "红烧带鱼", "鱼香肉丝", "时令鲜蔬" };// 菜品 int[] num = new int[4];// 份数 int[] time = new int[4];// 时间 String[] site = new St

JAVA吃货联盟项目。

1基础通过数组.选择结构.循环等实 现吃货联盟订餐系统. 1.我要订餐: 2.查看餐袋: 3.签收订单: 4.删除订单: 5.我要点赞: 6.退出系统: public class Doy001 { public static void main(String[] args) { Scanner input = new Scanner(System.in); String[] names = new String[4]; String[] dishMegs = new String[4]; int

吃货联盟项目

public class ddddd { String []name =new String[4];//保存订单人姓名 String []dishMegs =new String[4];//保存所选信息,包括菜品名及份数 String []time =new String[4];//保存送餐时间 String[]address =new String[4];//保存送餐地址 int[]states =new int[4];//保存订单状态:0表预订.1表示完成 double []sumPrice

案例&gt;&gt;&gt;吃货联盟订餐

import java.util.Scanner; public class VersionAlliance { public static void main(String[] args) { Scanner input = new Scanner(System.in); String[] names = new String[4]; // 保存订餐人姓名 String[] dishMegs = new String[4]; // 保存菜名和分数的所选信息 String[] addresses

吃货联盟订餐系统

实现菜单切换: System.out.println("欢迎使用吃货联盟订单系统"); Scanner input = new Scanner(System.in); int num=-1//用户输入0返回主菜单,否则退出系统; bolean isExit=false//标志用户是否退出系统; do{ //显示菜单 System.out.println("********************************************"); System.o

第一个项目--------------吃货联盟订餐系统

吃货联盟订餐系统 运行效果如图所示: 1.系统界面 2..功能一 3.查看餐袋 4.签收订单 6.我要点赞 1 package cn.zt; 2 3 import java.util.Scanner; 4 import java.util.jar.Attributes.Name; 5 6 public class OrderingMgr { 7 8 /** 9 * @param args 10 */ 11 public static void main(String[] args) { 12 /

小项目,吃货联盟,java初级小项目,源代码

1:项目的实现效果.功能如图所示. 2:项目的源代码如下: 1 import java.util.Scanner; 2 3 /** 4 * 吃货联盟订餐管理系统 5 * 6 */ 7 public class OrderingMsg { 8 public static void main(String[] args) { 9 // 数据主体:一组订单信息 10 String[] names = new String[4]; // 订餐人名称 11 String[] dishMegs = new

吃货联盟点餐系统

package cn.c; public class OrderingMgr { /** * @param args */ public static void main(String[] args) { OrderingUtil oUtil=new OrderingUtil(); oUtil.startMenu(); } } package cn.c; /** *订单类 */public class OrderingSet { //数组主体:一组订单信息 String[] names=new

吃货联盟订餐系统---添加注释

package com.shuzu; import java.util.Scanner; public class Chihuolianmeng_3 { //吃货订餐联盟---老师版 public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("欢迎使用"吃货联盟订餐系统""); String choose = ""