吃货联盟

代码

 

package com.play;

import java.util.*;
/**
 *     吃货联盟订餐系统
 * @author Administrator
 *    2019.1.5
 */
public class Foodie {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String[] names=new String[100];                        //用户姓名
        String[] meal= {"红烧带鱼","鱼香肉丝","时令鲜蔬    "};            //餐品信息
        String[] mealnum=new String[100];                    //记入用户餐品信息
        double[] cost= {38.0,20.0,10.0};                    //餐品费用
        double[] costs=new double[100];                        //记入餐品费用
        int[] amount=new int[100];                            //餐品数量
        int[] days=new int[100];                            //送餐日期
        String[] site=new String[100];                        //送餐地址
        double[] money=new double[100];                        //原价
        double[] money2=new double[100];                    //会员价
        String[] condition=new String[100];                    //订单状态
        Arrays.fill(condition, "未签收");                         //赋值订单状态
        int[] good=new int[10];                                //菜名点赞次数
        String member="非会员";                                //会员系统
        int i=0;                                            //客户数
        int choose;                                            //用户选择
        System.out.println("欢迎使用“吃货联盟订餐系统”");
        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("7、退出系统");
            choose=sc.nextInt();
            switch(choose) {
            case 1:                                                                    //***我要订餐***
                System.out.println("********************");
                System.out.println("***我要点餐***");
                if("会员".equals(member)) {
                    System.out.println("尊贵的会员您好!");
                }
                System.out.print("请输入姓名:");
                names[i]=sc.next();
                System.out.println("序号    菜名         单价");
                System.out.println("1    红烧带鱼        38.0元  "+good[0]+"次点赞"); 
                System.out.println("2    鱼香肉丝        20.0元  "+good[1]+"次点赞");
                System.out.println("3    时令鲜蔬        10.0元  "+good[2]+"次点赞");
                System.out.print("请选择您要点的菜品编号:");    
                int order=sc.nextInt();        
                costs[i]=cost[order-1];
                mealnum[i]=meal[order-1];
                System.out.print("你选择的套餐:"+meal[i]);
                System.out.print("请选择您需要的份数:");
                amount[i]=sc.nextInt();                            //套餐份数
                money[i]=(costs[i])*(amount[i]);                //原价
                if(member.equals("会员")) {
                    money2[i]=money[i]*0.8;                        //总金额    会员八折
                }
                do {
                    System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");
                    days[i]=sc.nextInt();
                    if(days[i]<10||days[i]>20) {
                        System.out.println("您的输入有误,请输入10~20间的整数!");
                    }
                }while(days[i]>20||days[i]<10);
                System.out.print("请输入送餐地址:");
                site[i]=sc.next();
                System.out.println("*******");
                System.out.println("订餐成功!");
                System.out.println("您订的是:"+mealnum[i]+" "+amount[i]+"份");
                System.out.println("单价:"+cost[order-1]);

                System.out.println("餐费是:"+money[i]);
                if(member.equals("会员")) {
                    System.out.println("会员价:"+String.format("%.2f", money2[i]));            //保留小数点两位
                }
                System.out.println("送餐时间是:"+days[i]+"点");
                i++;                                                                        //迭代下次有新订餐,变量人次加一,以免重复赋值
                int zero;
                do {
                    System.out.println("输入0返回");            
                    zero=sc.nextInt();
                    System.out.println("********************");
                }while(zero!=0);
                break;
            case 2:                                                                            //***查看餐袋***
                System.out.println("********************");
                System.out.println("***查看餐袋***");
                System.out.println("序号    订餐人      餐品信息        送餐日期    送餐地址        总金额    会员价        订单状态    ");
                for(int j=0;j<i;j++) {
                    System.out.print(j+1+"\t");                                                //序号
                    System.out.print(names[j]+"\t");                                        //订餐人
                    System.out.print(mealnum[j]+" ");                                        //餐品信息
                    System.out.print(amount[j]+"份\t");                                        //餐品数量
                    System.out.print(days[j]+"\t");                                            //送餐日期
                    System.out.print(site[j]+"\t\t");                                        //送餐地址
                    System.out.print(money[j]+"\t");                                        //总金额
                    System.out.print("会员价:"+String.format("%.2f", money2[j])+"\t");        //会员价    保留两位小数
                    System.out.println(condition[j]+"\t");                                    //订单状态
                }
                do {
                    System.out.println("输入0返回");
                    zero=sc.nextInt();
                }while(zero!=0);
                System.out.println("********************");
                break;
            case 3:                                                                    //***签收订单***
                System.out.println("********************");
                System.out.println("***签收订单***");
                do {
                    int num;
                    do {
                        System.out.print("请选择要签收的订单序号:");
                        num=sc.nextInt();
                        if(num<1) {
                            System.out.println("输入有误重新输入");
                        }else if(num-1>i) {
                            System.out.println("不能乱签收!");
                        }
                    }while(!(num>0));
                    if(num>i) {
                        System.out.println("输入错误,重新输入!");
                    }else if(condition[num-1].equals("已签收")) {
                        System.out.println("不能重复签收");
                    }else if(num-1>i){
                        System.out.println("不能乱签收");
                    }else if(condition[num-1].equals("未签收")){
                        condition[num-1]="已签收";                //签收成功
                        System.out.println("***签收成功!***");
                    }
                    System.out.println("按任意数字继续,输入0结束");
                    zero=sc.nextInt();
                }while(zero!=0);
                break;
            case 4:                                                                    //***删除订单***
                System.out.println("********************");
                do {
                    System.out.println("***删除订单***");
                    System.out.println("请输入要删除的订单");
                    int index=sc.nextInt();
                    if(index<1||index>101||index>i) {
                        System.out.println("输入有误");
                    }else if(condition[index-1].equals("未签收")) {
                        System.out.println("未签收,不能删除");
                    }else if(condition[index-1].equals("已签收")) {
                        for(int j=index-1;j<names.length-1;j++) {
                            names[j]=names[j+1];                //覆盖名字
                            mealnum[j]=mealnum[j+1];            //覆盖餐品信息
                            costs[j]=costs[j+1];                //覆盖餐品费用
                            amount[j]=amount[j+1];                //覆盖餐品数量
                            days[j]=days[j+1];                    //覆盖日期
                            site[j]=site[j+1];                    //覆盖地址
                            money[j]=money[j+1];                //覆盖总金额
                            condition[j]=condition[j+1];        //覆盖订单状态    
                        }
                        System.out.println("删除订单成功!");
                        i--;
                    }
                    System.out.println("按任意数字继续,输入0结束 ");
                    zero=sc.nextInt();
                }while(zero!=0);
                break;
            case 5:                                                                    //***我要点赞***
                System.out.println("********************");
                System.out.println("***我要点赞***");
                System.out.println("序号    菜名    单价");
                System.out.println("1    红烧带鱼    38.0元    "+good[0]+"次点赞");
                System.out.println("2    鱼香肉丝    20.0元    "+good[1]+"次点赞");
                System.out.println("3    时令鲜蔬    10.0元    "+good[2]+"次点赞");
                System.out.print("请选择您要点赞的菜品序:");
                int num=sc.nextInt();
                good[num-1]+=1;                                    //点赞次数加一
                System.out.println("点赞成功!");
                do {
                    System.out.println("按0退出!");
                    zero=sc.nextInt();
                }while(zero!=0);
                break;
            case 6:                                                                    //***会员系统***
                System.out.println("********************");
                System.out.println("会员状态 :"+member);
                System.out.println("是否充值会员! y\t或者取消会员!  n");
                String choice=sc.next();
                if(choice.equals("y")) {
                    member="会员";
                    System.out.println("恭喜你!充值成功");
                    do {
                        System.out.println("按0退出!");
                        zero=sc.nextInt();
                    }while(zero!=0);
                }else if(choice.equals("n")) {
                    member="非会员";
                    System.out.println("取消成功");
                    do {
                        System.out.println("按0退出!");
                        zero=sc.nextInt();
                        System.out.println("输入正确的数值!");
                    }while(zero!=0);
                }
            }
        }while(choose!=7);
        System.out.println("谢谢点餐!");
    }
}

 

运行

 

 

 

 

 

posted @ 2019-01-07 19:21  纸灰  阅读(209)  评论(0编辑  收藏  举报