吃货联盟代码

初始化

public class OrderingSet {
    String[]names=new String[4];
    String[]dishMegs=new String[4];
    int[]times=new int[4];
    String[]addresses=new String[4];
    int[]states=new int[4];
    double[]sumPrices=new double[4];
}

测试类:

public class OrderingMgr {
    public static void main(String[] args) {
        OrderingUtil util=new OrderingUtil();
        util.menu();
    }
}

主代码:

import java.util.Scanner;
public class OrderingUtil {
    String[]dishName={"红烧带鱼","鱼香肉丝","时令鲜蔬"};
    double[]prices=new double[]{38.0,20.0,10.0};
    int[]praiseNums=new int[3];
    Scanner input = new Scanner(System.in);
    OrderingSet ost=new OrderingSet();
    public void menu() {
        boolean inBig = false;
        int lin=-1;
        int num=0;
        System.out.println("欢迎使用“吃货联盟订餐系统”");
        do {
            System.out.println("*****************************************");
            System.out.println("1.我要订餐\n2.查看餐袋\n3.签收订单\n4.删除订单\n5.我要点赞\n6.退出系统");
            System.out.println("*****************************************");
            System.out.println("请选择:");
            if (input.hasNextInt()==true){
                num = input.nextInt();
                switch (num) {
                    case 1:
                        System.out.println("***我要订餐***");
                        table();
                        break;
                    case 2:
                        System.out.println("***查看餐袋***");
                        menuInitial();
                        break;
                    case 3:
                        System.out.println("***签收订单***");
                        qian();
                        break;
                    case 4:
                        System.out.println("***删除订单***");
                        delete();
                        break;
                    case 5:
                        System.out.println("***我要点赞***");
                        like();
                        break;
                    case 6:
                        System.out.println("***退出系统***");
                        System.out.println("谢谢使用,欢迎下次光临!");
                        inBig=true;
                        break;
                    default:
                        System.out.println("输入错误,请重新输入:");
                        menu();
                        inBig=true;
                        break;
                }
                if (!inBig){
                    System.out.println("输入0返回:");
                    lin=input.nextInt();
                }else {
                    break;
                }
            }else {
                    System.out.println("您输入的不是数字");
                    break;
            }
        }while (lin==0);
    }
    //查看餐袋
    public void menuInitial(){
        System.out.println("序号\t\t订餐人\t\t餐品信息\t\t送餐时间\t\t送餐地址\t\t总金额\t\t订餐状态");
        for (int i = 0; i < ost.names.length; i++) {
            if (ost.names[i]!=null){
             String state=(ost.states[i]==0)?"已预订":"已完成";
             String date=ost.times[i]+"点";
             String sumPrice=ost.sumPrices[i]+"元";
                System.out.println((i+1)+"\t\t"+ost.names[i]+"\t\t"+ost.dishMegs[i]+"\t\t"+date+"\t\t\t"+ost.addresses[i]+"\t\t\t"+sumPrice+"\t\t"+state);
            }
        }
    }
    //我要订餐
    public boolean table(){
        boolean isAdd=false;
        for (int j=0;j<ost.names.length;j++){
            if (ost.names[j]==null){
                isAdd=true;
                System.out.println("请输入订餐人姓名:");
                String name=input.next();
                System.out.println("序号\t\t菜名\t\t\t单价\t\t点赞数");
                for (int i=0;i<dishName.length;i++){
                    String price=prices[i]+"元";
                    String priaiseNum=(praiseNums[i])>0?praiseNums[i]+"赞":"0";
                    System.out.println((i+1)+"\t\t"+dishName[i]+"\t\t"+price+"\t\t"+priaiseNum);
                }
                System.out.println("请选择您要点的菜品编号:");
                int pwed=input.nextInt();
                System.out.println("请选择您需要的份数");
                int test=input.nextInt();
                String dishMg=dishName[pwed-1]+""+test+"份";
                double sumPrice=prices[pwed-1]*test;
                System.out.println("请输入送餐时间(送餐时间是10点至20点整点送餐):");
                int time=input.nextInt();
                while (time<10||time>20){
                    System.out.println("您的输入有误,请输入10-20间的整数!");
                    time=input.nextInt();
                }
                System.out.println("请输入送餐地址:");
                String add=input.next();
                System.out.println("订餐成功!");
                System.out.println("您订的是:"+dishMg);
                System.out.println("送餐时间:"+time+"点");
                if (sumPrice<50){
                    double deliCharge=5.0;
                    System.out.println("餐费:"+sumPrice+"元,送餐费:"+deliCharge+"元,总计:"+(sumPrice+deliCharge)+"元");
                    ost.names[j]=name;
                    ost.dishMegs[j]=dishMg;
                    ost.times[j]=time;
                    ost.addresses[j]=add;
                    ost.sumPrices[j]=sumPrice+deliCharge;
                    break;
                }else {
                    System.out.println("餐费:"+sumPrice+"元,送餐费:"+"0"+"元,总计:"+sumPrice+"元");
                    ost.names[j]=name;
                    ost.dishMegs[j]=dishMg;
                    ost.times[j]=time;
                    ost.addresses[j]=add;
                    ost.sumPrices[j]=sumPrice;
                    break;
                }
            }
        }
        if (!isAdd){
            System.out.println("对不起,您的餐袋已满!");
            return false;
        }else {
            return true;
        }
    }
    //签收订单
    public void qian(){
        boolean isFind=false;
        System.out.println("请选择要签收的订单序号:");
        int sum=input.nextInt();
        for (int i=0;i<ost.names.length;i++){
            if (ost.names[i]!=null&&ost.states[i]==0&&sum==i+1){
                ost.states[i]=1;
                System.out.println("订单签收成功!");
                isFind=true;
            }else if (ost.names[i]!=null&&ost.states[i]==1&&sum==i+1){
                System.out.println("您选择的订单已完成签收,不能再次签收!");
                isFind=true;
            }
        }
        if (!isFind){
            System.out.println("您选择的订单不存在!");
        }
    }
    //删除订单
    public void delete(){
        boolean isDe=false;
        System.out.println("请输入要删除的订单:");
        int order=input.nextInt();
        for (int i=0;i<ost.names.length;i++){
            if (ost.names[i]!=null&&ost.states[i]==1&&order==i+1){
                isDe=true;
                for (int j=0;j>ost.names.length;j++){
                    ost.names[j]=ost.names[j+1];
                    ost.dishMegs[j]=ost.dishMegs[j+1];
                    ost.times[j]=ost.times[j+1];
                    ost.addresses[j]=ost.addresses[j+1];
                    ost.states[j]=ost.states[j+1];
                    ost.sumPrices[j]=ost.sumPrices[j+1];
                }
                int endIndex=ost.names.length-1;
                ost.names[endIndex]=null;
                ost.dishMegs[endIndex]=null;
                ost.times[endIndex]=0;
                ost.addresses[endIndex]=null;
                ost.states[endIndex]=0;
                ost.sumPrices[endIndex]=0;
                System.out.println("删除订单成功!");
                break;
            }else if (ost.names[i]!=null&&ost.states[i]==0&&order==i+1){
                System.out.println("您选择的订单未签收,不能删除!");
                isDe=true;
                break;
            }
        }
        if (!isDe){
            System.out.println("您要删除的订单不存在!");
        }
    }
    //我要点赞
    public void like(){
        System.out.println("序号\t\t菜名\t\t单价");
        for (int i = 0; i < dishName.length; i++) {
            String price=dishName[i]+"元";
            String priaiseNum=(praiseNums[i])>0?praiseNums[i]+"赞":" ";
            System.out.println((i+1)+"\t\t"+dishName[i]+"\t\t"+price+"\t\t"+priaiseNum);
        }
        System.out.println("请选择您要点赞的菜品序号:");
        int bum=input.nextInt();
        praiseNums[bum-1]++;
        System.out.println("点赞成功!");
    }

猜你喜欢

转载自www.cnblogs.com/lyy2993945268/p/11948899.html