大数据——项目实战之吃货联盟订餐系统升级版

吃货联盟订餐系统


这边我直接写出吃货联盟订餐系统升级版的代码了。如果需要了解写代码前的项目需求还有项目分析,请参考我之前的吃货联盟订餐系统博客。 https://blog.csdn.net/dsjia2970727/article/details/107405261

public class Dish {
    private String disNum;
    private double price;
    private int likes;
    public String getDisNum() {
        return disNum;
    }
    public void setDisNum(String disNum) {
        this.disNum = disNum;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public int getLikes() {
        return likes;
    }
    public void setLikes(int likes) {
        this.likes = likes;
    }
public Dish(){
}
    public Dish(String disNum, double price, int likes) {
        this.disNum = disNum;
        this.price = price;
        this.likes = likes;
    }
    @Override
    public String toString() {
        return disNum+"\t"+price + "\t"+ likes + '}';
    }
}
public class Bill {
   private String orderMan;
   private String dishDetail;//菜品信息,菜品名,份数
   //private int num;
   private double totalPrice;//总价包括菜品单价*份数+送餐费
   private int time;//10-20点
   private String address;
    private boolean status = false;//true为完成 ,false为已预定
    public String getOrderMan() {
        return orderMan;
    }
    public void setOrderMan(String orderMan) {
        this.orderMan = orderMan;
    }
    public String getDishDetail() {
        return dishDetail;
    }
    public void setDishDetail(String dishDetail) {
        this.dishDetail = dishDetail;
    }
    public double getTotalPrice() {
        return totalPrice;
    }
    public void setTotalPrice(double totalPrice) {
        this.totalPrice = totalPrice;
    }
    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 boolean isStatus() {
        return status;
    }
    public void setStatus(boolean status) {
        this.status = status;
    }
    @Override
    public String toString() {
        return "Bill{" +
                "orderMan='" + orderMan + '\'' +
                ", dishDetail='" + dishDetail + '\'' +
                ", totalPrice=" + totalPrice +
                ", time=" + time +
                ", address='" + address + '\'' +
                ", status=" + status +
                '}';
    }
}
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.Scanner;
public class FrontPage {
    Bill[] bill=new Bill[2048];
    Dish[] dish=new Dish[5];
    public void run(){
        setDish();
        System.out.println("欢迎来到吃货联盟");
        System.out.println("*******************");
        Scanner sc = new Scanner(System.in);
        int chose=0;
            do {
                show();
                chose = sc.nextInt();
                chose(chose);
                System.out.println("输入0返回:");
                chose = sc.nextInt();
            } while (chose == 0);
        }
    public void show(){
        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("请选择:");
    }
    public void chose(int input){
        switch (input){
            case 1:
                order();
                break;
            case 2:
                lookUp();
                break;
            case 3:
                changStatus();
                break;
            case 4:
                deleteBill();
                break;
            case 5:
                praise();
                break;
                //default:
        }
    }
    public void order(){
        Scanner sc=new Scanner(System.in);
        int i = 0;
        for (; i < bill.length; i++) {
            if(bill[i]==null){
                bill[i]=new Bill();
                break;
            }
        }
        System.out.println("****我要订餐****");
        System.out.println("请输入姓名:");
        String name=sc.next();
        bill[i].setOrderMan(name);
        System.out.println("序号\t菜品名\t单价\t点赞数");
        for (int j = 0; j <dish.length ; j++) {
            System.out.println(j+1+"\t"+dish[j]);
        }
        String choseDish;
        int num=0;
        int dishNum;
        do{
        try{
            System.out.print("请选择菜品编号:");
            dishNum=sc.nextInt();
            System.out.print("请输入份数:");
             num=sc.nextInt();
            if(dishNum>0&&dishNum<6&&num>0){
                choseDish=dish[dishNum-1].getDisNum();
                bill[i].setDishDetail(choseDish+" "+num);
              break;
            }
        }catch (InputMismatchException e){
            System.out.println("输入不合法,请重新输入");
        }
        }while(true);
        do{
           try{
               System.out.println("请输入送餐时间,10-20点之间");
               int time=sc.nextInt();
               System.out.println("请输入地址:");
               String address=sc.next();
               if(time>9&&time<21){
                   bill[i].setTime(time);
                   bill[i].setAddress(address);
                   break;
               }
           }catch (InputMismatchException e){
               System.out.println("输入不合法,请重新输入");
           }
        }while(true);
        System.out.println("订餐完成!");
        System.out.println("您选择的订单为:" +bill[i].getDishDetail());
      int sendPrice=0;
       double totalPrice=dish[dishNum-1].getPrice()*num;
      if(totalPrice<50){
          sendPrice=6;
      }
      double total=totalPrice+sendPrice;
        System.out.println("菜品总价为:" + totalPrice + ",配送费为:" +
                sendPrice + ",元,总价为:" + total);
        bill[i].setTotalPrice(total);
    }
    public void setDish(){
        for (int i = 0; i < dish.length; i++) {
            dish[i]=new Dish();
        }
        dish[0].setDisNum("佛跳墙");
        dish[0].setPrice(98);
        dish[0].setLikes(0);
        dish[1].setDisNum("东坡肉");
        dish[1].setPrice(45);
        dish[2].setDisNum("燕窝");
        dish[2].setPrice(38);
        dish[3].setDisNum("鱼子酱");
        dish[3].setPrice(28);
        dish[4].setDisNum("秋刀鱼");
        dish[4].setPrice(18);
    }public void lookUp(){
        System.out.println("编号\t姓名\t\t餐品信息\t总价\t\t时间\t\t地址\t\t状态");
        for (int i = 0; i < bill.length; i++) {
            if(bill[i]!=null){
                System.out.print((i + 1) + "\t" + bill[i].getOrderMan() + "\t\t" +
                        bill[i].getDishDetail() + "份\t\t" + bill[i].getTime() +
                        "\t" + bill[i].getAddress() + "\t" + bill[i].getTotalPrice() + "\t");
                if (!bill[i].isStatus()) {
                    System.out.print("已预订\n");}
            }else break;
        }
    }public void changStatus(){
       lookUp();
        System.out.println("请输入您要修改的状态的订单编号");
        Scanner sc=new Scanner(System.in);
        int id=sc.nextInt();
        if(!bill[id-1].isStatus()){
            bill[id-1].setStatus(true);
        }else {
            System.out.println("您输入的订单已完成,无需修改!");
        }
        System.out.println("订单修改完成!");
    }public void deleteBill(){
        lookUp();
        System.out.println("请输入要删除的订单编号:");
        Scanner sc=new Scanner(System.in);
        int id=sc.nextInt();
        if(!bill[id-1].isStatus()){
            System.out.println("订单未完成,不能删除订单!");
        }else {
            for (int i = id - 1; i < bill.length - 1; i++) {
                bill[i]=bill[i+1];
            }bill[bill.length]=null; System.out.println("订单删除成功!");
        }
    }public void praise(){
        System.out.println("序号\t菜品名\t单价\t点赞数\t");
        for (int i = 0; i < dish.length; i++) {
            System.out.println((i + 1) + "\t" + dish[i].toString());
        }
        System.out.println("请输入您要点赞的编号:");
        Scanner sc=new Scanner(System.in);
        dish[sc.nextInt()-1].setLikes(1);
        System.out.println("点赞成功!");
    }
}
public class PlatForm {
    public static void main(String[] args) {
        FrontPage fp=new FrontPage();
        fp.run();
    }
}

输出结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值